本文整理汇总了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();
}
示例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();
}
示例3: Player
internal Player(Context context, IntPtr nodeHandle, bool addRef)
: base(context, nodeHandle, addRef)
{
this.endOfFileReachedEvent = new StateChangedEvent(this,
SafeNativeMethods.xnRegisterToEndOfFileReached,
SafeNativeMethods.xnUnregisterFromEndOfFileReached);
}
示例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("ユーザー検出をサポートしていません");
}
}
示例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]);
}
}
示例6: DepthGenerator
internal DepthGenerator(Context context, IntPtr nodeHandle, bool addRef)
: base(context, nodeHandle, addRef)
{
this.fovChanged = new StateChangedEvent(this,
SafeNativeMethods.xnRegisterToDepthFieldOfViewChange,
SafeNativeMethods.xnUnregisterFromDepthFieldOfViewChange);
}
示例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;
}
示例8: ImageGenerator
internal ImageGenerator(Context context, IntPtr nodeHandle, bool addRef)
: base(context, nodeHandle, addRef)
{
this.pixelFormatChanged = new StateChangedEvent(this,
SafeNativeMethods.xnRegisterToPixelFormatChange,
SafeNativeMethods.xnUnregisterFromPixelFormatChange);
}
示例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;
}
示例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;
}
示例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 );
}
}
示例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();
}
示例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();
}
示例14: AudioGenerator
internal AudioGenerator(Context context, IntPtr nodeHandle, bool addRef)
: base(context, nodeHandle, addRef)
{
this.outputModeChanged = new StateChangedEvent(this,
SafeNativeMethods.xnRegisterToWaveOutputModeChanges,
SafeNativeMethods.xnUnregisterFromWaveOutputModeChanges);
}
示例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);
}