当前位置: 首页>>代码示例>>C#>>正文


C# OpenNI.Context类代码示例

本文整理汇总了C#中OpenNI.Context的典型用法代码示例。如果您正苦于以下问题:C# Context类的具体用法?C# Context怎么用?C# Context使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


Context类属于OpenNI命名空间,在下文中一共展示了Context类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: MainWindow

        public MainWindow()
        {
            InitializeComponent();

            this.context = Context.CreateFromXmlFile(SAMPLE_XML_FILE, out scriptNode);
            this.depth = context.FindExistingNode(NodeType.Depth) as DepthGenerator;
            if (this.depth == null)
            {
                throw new Exception("Viewer must have a depth node!");
            }

            this.userGenerator = new UserGenerator(this.context);
            this.skeletonCapbility = this.userGenerator.SkeletonCapability;
            this.poseDetectionCapability = this.userGenerator.PoseDetectionCapability;
            this.calibPose = this.skeletonCapbility.CalibrationPose;

            this.userGenerator.NewUser += userGenerator_NewUser;
            this.userGenerator.LostUser += userGenerator_LostUser;
            this.poseDetectionCapability.PoseDetected += poseDetectionCapability_PoseDetected;
            this.skeletonCapbility.CalibrationComplete += skeletonCapbility_CalibrationComplete;

            this.skeletonCapbility.SetSkeletonProfile(SkeletonProfile.All);
            this.joints = new Dictionary<int,Dictionary<SkeletonJoint,SkeletonJointPosition>>();
            this.userGenerator.StartGenerating();

            this.histogram = new int[this.depth.DeviceMaxDepth];

            MapOutputMode mapMode = this.depth.MapOutputMode;

            this.bitmap = new Bitmap((int)mapMode.XRes, (int)mapMode.YRes/*, System.Drawing.Imaging.PixelFormat.Format24bppRgb*/);
            this.shouldRun = true;
            this.readerThread = new Thread(ReaderThread);
            this.readerThread.Start();
        }
开发者ID:wair,项目名称:Patched_Kinect_Drivers_for_Ubuntu,代码行数:34,代码来源:MainWindow.cs

示例2: WebNect

        public WebNect()
        {
            this.context = new OpenNI.Context(SAMPLE_XML_FILE);
            this.sessionManager = new NITE.SessionManager(this.context, "Click", "RaiseHand");
            this.context.StartGeneratingAll();

            this.sessionManager.SessionStart += new
                    EventHandler<NITE.PositionEventArgs>(sessionManager_SessionStart);
            this.sessionManager.SessionFocusProgress += new
                    EventHandler<NITE.SessionProgressEventArgs>(sessionManager_SessionProgress);
            this.sessionManager.SessionEnd += sessionManager_SessionEnd;

            this.waveDetector = new NITE.WaveDetector();
            this.waveDetector.Wave += waveDetector_Wave;
            this.waveDetector.PointUpdate += new EventHandler<HandEventArgs>(waveDetector_PointUpdate);
            this.sessionManager.AddListener(this.waveDetector);

            this.zmq_context = new ZMQ.Context(1);
            this.zmq_publisher = this.zmq_context.Socket(SocketType.PUB);
            this.zmq_publisher.Bind(this.SOCKET_SOURCE);
            Console.WriteLine("ZMQ Socket at {0}", this.SOCKET_SOURCE);

            this.shouldRun = true;
            this.readerThread = new Thread(ReaderThread);
            this.readerThread.Start();
        }
开发者ID:victorpoluceno,项目名称:python_kinect_socketio,代码行数:26,代码来源:WebNect.cs

示例3: Player

 internal Player(Context context, IntPtr nodeHandle, bool addRef)
     : base(context, nodeHandle, addRef)
 {
     this.endOfFileReachedEvent = new StateChangedEvent(this,
         SafeNativeMethods.xnRegisterToEndOfFileReached,
         SafeNativeMethods.xnUnregisterFromEndOfFileReached);
 }
开发者ID:nemesit,项目名称:OpenNI,代码行数:7,代码来源:Player.cs

示例4: xnInitialize

        // 初期化
        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);

              // ユーザージェネレータの作成
              user = context.FindExistingNode(NodeType.User) as UserGenerator;
              if (depth == null) {
            throw new Exception(context.GlobalErrorState);
              }

              // ユーザー検出機能をサポートしているか確認
              if (!user.IsCapabilitySupported("User::Skeleton")) {
            throw new Exception("ユーザー検出をサポートしていません");
              }
        }
开发者ID:ninuxsoft,项目名称:KinectSensorProgramming,代码行数:33,代码来源:Form1_DrawUser.cs

示例5: Run

        static void Run()
        {
            string SAMPLE_XML_FILE = @"../../../../Data/SamplesConfig.xml";

            Context context = new Context(SAMPLE_XML_FILE);

            DepthGenerator depth = context.FindExistingNode(NodeType.Depth) as DepthGenerator;
            if (depth == null)
            {
                Console.WriteLine("Sample must have a depth generator!");
                return;
            }

            MapOutputMode mapMode = depth.MapOutputMode;

            DepthMetaData depthMD = new DepthMetaData();

            Console.WriteLine("Press any key to stop...");

            while (!Console.KeyAvailable)
            {
                context.WaitOneUpdateAll(depth);

                depth.GetMetaData(depthMD);

                Console.WriteLine("Frame {0} Middle point is: {1}.", depthMD.FrameID, depthMD[(int)mapMode.XRes/2, (int)mapMode.YRes/2]);
            }
        }
开发者ID:nemesit,项目名称:OpenNI,代码行数:28,代码来源:Program.cs

示例6: DepthGenerator

 internal DepthGenerator(Context context, IntPtr nodeHandle, bool addRef)
     : base(context, nodeHandle, addRef)
 {
     this.fovChanged = new StateChangedEvent(this,
         SafeNativeMethods.xnRegisterToDepthFieldOfViewChange,
         SafeNativeMethods.xnUnregisterFromDepthFieldOfViewChange);
 }
开发者ID:nemesit,项目名称:OpenNI,代码行数:7,代码来源:DepthGenerator.cs

示例7: Create

 private static IntPtr Create(Context context, CodecID codecID, ProductionNode initializer)
 {
     IntPtr nodeHandle;
     int status = SafeNativeMethods.xnCreateCodec(context.InternalObject, codecID.InternalValue, initializer.InternalObject, out nodeHandle);
     WrapperUtils.ThrowOnError(status);
     return nodeHandle;
 }
开发者ID:nemesit,项目名称:OpenNI,代码行数:7,代码来源:Codec.cs

示例8: ImageGenerator

 internal ImageGenerator(Context context, IntPtr nodeHandle, bool addRef)
     : base(context, nodeHandle, addRef)
 {
     this.pixelFormatChanged = new StateChangedEvent(this,
         SafeNativeMethods.xnRegisterToPixelFormatChange,
         SafeNativeMethods.xnUnregisterFromPixelFormatChange);
 }
开发者ID:penyatree,项目名称:openni,代码行数:7,代码来源:ImageGenerator.cs

示例9: Create

		private static IntPtr Create(Context context, string format)
		{
			IntPtr nodeHandle;
			int status = SafeNativeMethods.xnCreateScriptNode(context.InternalObject, format, out nodeHandle);
			WrapperUtils.ThrowOnError(status);
			return nodeHandle;
		}
开发者ID:FreeMiles,项目名称:OpenNI,代码行数:7,代码来源:ScriptNode.cs

示例10: Create

 private static IntPtr Create(Context context, string name)
 {
     IntPtr handle;
     int status = SafeNativeMethods.xnCreateMockNode(context.InternalObject, NodeType.Image, name, out handle);
     WrapperUtils.ThrowOnError(status);
     return handle;
 }
开发者ID:nemesit,项目名称:OpenNI,代码行数:7,代码来源:MockImageGenerator.cs

示例11: MainWindow

        public MainWindow()
        {
            InitializeComponent();

            try {
                // ContextとImageGeneratorの作成
                ScriptNode node;
                context = Context.CreateFromXmlFile( "../../SamplesConfig.xml", out node );
                context.GlobalMirror = false;
                image = context.FindExistingNode( NodeType.Image ) as ImageGenerator;

                // ユーザーの作成
                user = new UserGenerator( context );

                context.StartGeneratingAll();

                // 画像更新のためのスレッドを作成
                shouldRun = true;
                readerThread = new Thread( new ThreadStart( ReaderThread ) );
                readerThread.Start();
            }
            catch ( Exception ex ) {
                MessageBox.Show( ex.Message );
            }
        }
开发者ID:kaorun55,项目名称:openni_sandbox,代码行数:25,代码来源:MainWindow.xaml.cs

示例12: xnInitialize

        // 初期化
        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);

              // レコーダーの作成と記録対象の追加
              recoder = new OpenNI.Recorder(context);
              recoder.SetDestination(RecordMedium.File, RECORD_PATH);
              recoder.AddNodeToRecording(image);
              recoder.AddNodeToRecording(depth);
              recoder.Record();
        }
开发者ID:ninuxsoft,项目名称:KinectSensorProgramming,代码行数:29,代码来源:Form1_Recorder.cs

示例13: InitOpenNI

        private void InitOpenNI()
        {
            // ContextとImageGeneratorの作成
            ScriptNode node;
            context = Context.CreateFromXmlFile( "SamplesConfig.xml", out node );
            context.GlobalMirror = false;
            image = context.FindExistingNode( NodeType.Image ) as ImageGenerator;

            // 画像更新のためのスレッドを作成
            shouldRun = true;
            readerThread = new Thread( new ThreadStart( () =>
            {
                while ( shouldRun ) {
                    context.WaitAndUpdateAll();
                    ImageMetaData imageMD = image.GetMetaData();

                    // ImageMetaDataをBitmapSourceに変換する(unsafeにしなくてもOK!!)
                    this.Dispatcher.BeginInvoke( DispatcherPriority.Background, new Action( () =>
                    {
                        imageOpenNI.Source = BitmapSource.Create( imageMD.XRes, imageMD.YRes,
                            96, 96, PixelFormats.Rgb24, null, imageMD.ImageMapPtr,
                            imageMD.DataSize, imageMD.XRes * imageMD.BytesPerPixel );
                    } ) );
                }
            } ) );
            readerThread.Start();
        }
开发者ID:kaorun55,项目名称:kinect_sdk_sandbox,代码行数:27,代码来源:MainWindow.xaml.cs

示例14: AudioGenerator

 internal AudioGenerator(Context context, IntPtr nodeHandle, bool addRef)
     : base(context, nodeHandle, addRef)
 {
     this.outputModeChanged = new StateChangedEvent(this,
         SafeNativeMethods.xnRegisterToWaveOutputModeChanges,
         SafeNativeMethods.xnUnregisterFromWaveOutputModeChanges);
 }
开发者ID:penyatree,项目名称:openni,代码行数:7,代码来源:AudioGenerator.cs

示例15: UserGenerator

 public UserGenerator(Context context, IntPtr nodeHandle, bool addRef)
     : base(context, nodeHandle, addRef)
 {
     this.internalNewUser = new SafeNativeMethods.XnUserHandler(this.InternalNewUser);
     this.internalLostUser = new SafeNativeMethods.XnUserHandler(this.InternalLostUser);
     this.internalUserExit = new SafeNativeMethods.XnUserHandler(this.InternalUserExit);
     this.internalUserReEnter = new SafeNativeMethods.XnUserHandler(this.InternalUserReEnter);
 }
开发者ID:huangxm,项目名称:OpenNI,代码行数:8,代码来源:UserGenerator.cs


注:本文中的OpenNI.Context类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。