如何从最新的SkeletalViewer获取骨骼关节的(x,y,z)坐标?(C++)
How to get (x, y, z) coordinates of skeletal joints from latest SkeletalViewer? (C++)
我是一名学生,目前正在使用多个 kinect 相机进行项目。我必须通过从每个 kinect 相机获取骨骼关节数据来开始我的项目,并使用 SkeletalViewer 将它们分别存储到两个文本文件中。
我在SkeletalViewer.h上做了一些修改,如下所示:
public:
FILE* filePointer;
char mText[1024];
并在NuiImpl中进一步修改.cpp如下所示:
HRESULT CSkeletalViewerApp::Nui_Init() {
fopen_s(filePointer, "C:/User/Users/Documents/Shasa/Kinect3D.txt", "w+");
filePointer = NULL;
.
.
.
}
void CSkeletalViewerApp::Nui_DrawSkeleton( const NUI_SKELETON_DATA & skel, int windowWidth, int windowHeight )
{
int i;
for (i = 0; i < NUI_SKELETON_POSITION_COUNT; i++)
{
m_Points[i] = SkeletonToScreen(skel.SkeletonPositions[i], windowWidth, windowHeight);
memset(mText, 0, 1024);
sprintf(mText, "(%0.3f,%0.3f,%0.3f)", skel.SkeletonPositions[i].x, skel.SkeletonPositions[i].y, skel.SkeletonPositions[i].z);
if (filePointer) {
fputs((const char*)mText, filePointer);
}
}
if (filePointer) {
fputs("n", filePointer);
}
.
.
.
}
结果是创建了文本文件,但内容为空白。我在网上阅读了一些解决方案,但以前版本的Nui_DrawSkeleton函数使用NUI_SKELETON_DATA * pSkel作为参数,但这个新版本使用NUI_SKELETON_DATA和skel是不同的。使用斯凯尔是否正确。SkeletonPosition[i].x, skel.SkeletonPosition[i].y, skel.SkeletonPosition[i].z?
我可以寻求任何人的帮助,他们可以帮助我查看导致错误的原因以及如何修改它吗?谢谢!
skel.SkeletonPositions[i].x
是正确的。使用 & skel
而不是 * pskel
只会将pskel->XXX
更改为 skel.XXX
。
问题就在这里:
fopen_s(filePointer, "C:/User/Users/Documents/Shasa/Kinect3D.txt", "w+");
filePointer = NULL;
那应该是:
fopen_s(&filePointer, "C:/User/Users/Documents/Shasa/Kinect3D.txt", "w+");
相关文章:
- QGraphicsPolygonItem在拖动时未更新QPolygonF坐标
- 在C++中使用GDAL可以将图像的像素坐标转换为lat,long吗
- UE4-如何在给定4个屏幕坐标的情况下缩放纹理或材质
- OpenGL 4.3 错误地将第 4 个纹理坐标映射到与第 3 个纹理坐标相同的位置
- 比较两个节点坐标的最佳方法是什么?
- 在 OpenGL 中将笛卡尔世界坐标转换为球面局部坐标
- SDL2 调整窗口大小后如何缩放鼠标坐标?
- 如何在C++中获取坐标?
- 如何将 x.y 坐标的值存储在不同的数组中
- 如何将鼠标坐标转换为"mm"
- 重心坐标并不总是有效(3d)
- 尝试渲染像素坐标时,简单线条渲染失败
- 使用 GTK3 C++获取指针坐标
- 从 CGAL 3D 网格生成中获取顶点坐标的 -6.27744e+66:mesh_implicit_sphere示例
- 我想制作设置鼠标回调函数,以便在仍然按下鼠标左键时连续传递坐标
- 将鼠标悬停在图片框上时,如何显示带有 x-y 坐标的十字准线光标?
- 跳转到通过输入坐标定义的控制台屏幕位置
- QImage::p ixel 和 QImage::setPixel 坐标超出范围误差
- 如何从 3d 对象文件中获取 3d 坐标
- 使用C++中的链表对与原点的距离、x 和 y 坐标进行排序