本文整理汇总了C#中CameraSpacePoint.ElementAt方法的典型用法代码示例。如果您正苦于以下问题:C# CameraSpacePoint.ElementAt方法的具体用法?C# CameraSpacePoint.ElementAt怎么用?C# CameraSpacePoint.ElementAt使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CameraSpacePoint
的用法示例。
在下文中一共展示了CameraSpacePoint.ElementAt方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Reader_MultiSourceFrameArrived
void Reader_MultiSourceFrameArrived(object sender, MultiSourceFrameArrivedEventArgs e)
{
var reference = e.FrameReference.AcquireFrame();
// Color
using (var frame = reference.ColorFrameReference.AcquireFrame())
{
if (frame != null)
{
if (_mode == CameraMode.Color)
{
camera.Source = frame.ToBitmap();
}
}
}
var col_frame = reference.ColorFrameReference.AcquireFrame();
CameraSpacePoint[] camerapoints = null;
FrameDescription colorFrameDes = col_frame.FrameDescription;
int colorWidth = colorFrameDes.Width;
int colorHeight = colorFrameDes.Height;
camerapoints = new CameraSpacePoint[colorWidth * colorHeight];
// Depth
using (var frame = reference.DepthFrameReference.AcquireFrame())
{
if (frame != null)
{
if (_mode == CameraMode.Depth)
{
Console.Write("In the depth control.");
//camera.Source = frame.ToBitmap();
FrameDescription depth_des = frame.FrameDescription;
int depth_height = depth_des.Height;
int depth_Width = depth_des.Width;
UInt16[] depthdata = new UInt16[depth_Width * depth_height];
frame.CopyFrameDataToArray(depthdata);
for (int i = 1; i <= 100;i++ )
{
Console.Write(depthdata[i]);
Console.Write("\n");
}
_sensor.CoordinateMapper.MapColorFrameToCameraSpace(depthdata, camerapoints);
CameraSpacePoint testpoint = new CameraSpacePoint();
testpoint = camerapoints.ElementAt(3);
Console.WriteLine(testpoint.X);
//Console.Write(abc);
}
}
}
// Body
using (var frame = reference.BodyFrameReference.AcquireFrame())
{
if (frame != null)
{
canvas.Children.Clear();
_bodies = new Body[frame.BodyFrameSource.BodyCount];
frame.GetAndRefreshBodyData(_bodies);
foreach (var body in _bodies)
{
if (body.IsTracked)
{
// COORDINATE MAPPING
foreach (Joint joint in body.Joints.Values)
{
if (joint.TrackingState == TrackingState.Tracked)
{
// 3D space point
CameraSpacePoint jointPosition = joint.Position;
// 2D space point
Point point = new Point();
if (_mode == CameraMode.Color)
{
ColorSpacePoint colorPoint = _sensor.CoordinateMapper.MapCameraPointToColorSpace(jointPosition);
point.X = float.IsInfinity(colorPoint.X) ? 0 : colorPoint.X;
point.Y = float.IsInfinity(colorPoint.Y) ? 0 : colorPoint.Y;
}
else if (_mode == CameraMode.Depth || _mode == CameraMode.Infrared) // Change the Image and Canvas dimensions to 512x424
{
DepthSpacePoint depthPoint = _sensor.CoordinateMapper.MapCameraPointToDepthSpace(jointPosition);
point.X = float.IsInfinity(depthPoint.X) ? 0 : depthPoint.X;
point.Y = float.IsInfinity(depthPoint.Y) ? 0 : depthPoint.Y;
}
// Draw
Ellipse ellipse = new Ellipse
//.........这里部分代码省略.........