// 初期化
        private void xnInitialize()
        {
            // コンテキストの初期化
            ScriptNode scriptNode;

            context = Context.CreateFromXmlFile(CONFIG_XML_PATH, out scriptNode);

            // イメージジェネレータの作成
            image = context.FindExistingNode(NodeType.Image)
                    as ImageGenerator;
            if (image == null)
            {
                throw new Exception(context.GlobalErrorState);
            }

            // デプスジェネレータの作成
            depth = context.FindExistingNode(NodeType.Depth)
                    as DepthGenerator;
            if (depth == null)
            {
                throw new Exception(context.GlobalErrorState);
            }

            // デプスの座標をイメージに合わせる
            depth.AlternativeViewpointCapability.SetViewpoint(image);

            // カメラ画像の
            //   ミラー状態が変更されたことを通知するコールバックを登録
            //   ミラー状態の取得
            OpenNI.MirrorCapability imageMirror = image.MirrorCapability;
            imageMirror.MirrorChangedEvent += new EventHandler(Form1_MirrorChangedEvent);
            mirrorState.Add(image.ToString(), imageMirror.IsMirrored());


            // デプスの
            //   ミラー状態が変更されたことを通知するコールバックを登録
            //   ミラー状態の取得
            OpenNI.MirrorCapability depthMirror = depth.MirrorCapability;
            depthMirror.MirrorChangedEvent += new EventHandler(Form1_MirrorChangedEvent);
            mirrorState.Add(depth.ToString(), depthMirror.IsMirrored());

            // ヒストグラムバッファの作成
            histogram = new int[depth.DeviceMaxDepth];
        }
 // キーイベント
 private void xnKeyDown(Keys key)
 {
     // すべてを反転する
     if (key == Keys.M)
     {
         context.GlobalMirror = !context.GlobalMirror;
     }
     // イメージのみ反転する
     else if (key == Keys.I)
     {
         OpenNI.MirrorCapability mirror = image.MirrorCapability;
         mirror.SetMirror(!mirror.IsMirrored());
     }
     // デプスのみ反転する
     else if (key == Keys.D)
     {
         OpenNI.MirrorCapability mirror = depth.MirrorCapability;
         mirror.SetMirror(!mirror.IsMirrored());
     }
 }