问题标签 [kinect-v2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
6733 浏览

javascript - 如何使用 Node.js 获取 Windows 版本?

Stack Overflow 上有关于操作系统版本的问题,但不是关于 Windows 名称的问题,我希望使用 Node.js 找出 Windows 名称。

我研究了很多模块,如、os和using等,发现这些有助于获取操作系统描述、进程环境等。我也能得到它是 Linux 或 Windows,即我正在使用哪个平台。platformgetosprocess

但是,我如何检查使用 Node.js 安装在我的系统上的是 Windows 7 还是 8?

kinect2在我的 Node.js 项目中使用模块,该模块在 Windows 8 上运行良好,但我希望在 Windows 7 上使用它。

我已经检查过 Kinect2 不能与 Windows 7 一起使用。

0 投票
0 回答
26 浏览

kinect - Kinect V2 中的静音检测

我正在使用 winmm.dll 使用以下方法从 kinect 录制音频:

目前,我正在使用停止按钮单击停止录制,但我想在检测静音时停止录制。因为我想删除“停止录制”按钮并在用户 10 秒内不说话时停止录制。

0 投票
0 回答
138 浏览

c# - 在 Kinect v2 中反序列化以获取列表对象

我通过将 Kinect v2 中的 Body 类转换为 List 并将数据保存在文本文件中来序列化它。但是当我将它反序列化回 List 对象时,我无法做到这一点。它说“无法找到用于 Microsoft.Kinect.Body 类型的构造函数。一个类应该有一个默认构造函数、一个带参数的构造函数或一个标有 JsonConstructor 属性的构造函数”。我正在使用以下代码。

0 投票
1 回答
778 浏览

libusb - Libfreenect2 USB 连接失败

我一直在尝试在我的 Windows 10 机器上启动并运行 libfreenect2 库,但遇到了一个无法解决的问题。我已经建立了图书馆和它的例子。我遇到的问题是当我去运行“Protonect”示例代码时。我得到的输出如下所示:

请忽略我用作打印语句调试的“BLAH BLAH BLAH”。我想我已经将问题一直追溯到 libusb 库中 core.c 文件 libusb_open() 函数的这一部分:

我在错误代码 -99 上找不到任何内容,因此我的调试结束了。据我了解,示例代码似乎由于某种原因无法将 USB 设备打开到 Kinect。

我已经使用 Windows SDK 测试了 Kinect 和 Kinect Studio,并且在获取 Kinect 提要时没有问题。有没有人遇到过这个问题,你是如何解决的?关于错误代码的含义或如何解决 USB 开启问题的任何建议?

0 投票
1 回答
124 浏览

kinect - kinect 关节坐标值以相反的方式变化

在我放置 Kinect 2 并站在它前面后,我将手臂前后上下移动(例如向前弯曲)。

然后,我发现腕关节的 y 坐标从大 (0.17) 变为小 (0.11) 和大约 (0.16)。我觉得这很奇怪,因为在 Kinect 指南中,正 y 轴表示向上的方向。 https://msdn.microsoft.com/en-us/library/hh973078.aspx

当我们将手臂向上放置时,似乎我们应该有更大的手腕 Y 坐标值。我得到相反的结果。任何人都可以对此发表评论吗?

Q. 向上移动时手腕的 y 值是否应该减小?

问:如果没有,任何人都知道为什么会发生这种情况吗?

Q. 另外,我发现我的另一侧手腕(左)有负值。谁能评论为什么手腕左侧有负值?

0 投票
0 回答
68 浏览

opengl - 将相机空间中的体素投影到相机视图中,以在 OpenGL 中获得正确的图像坐标

我正在开发一个类似于MobileFusion的应用程序。

在 Sec:6 中,他们通过以下方式将每个体素从相机空间投影到相机视图中:

I am using a kinect v2 for the images and I found for these parameters:

I want to realize this fusion step with OpenGL. Now my problem is that I have value between [-1,1] and using these parameters for getting the correct image coordinates would yield to way much higher values.

Is there something I do wrong here? Or do I have to normalize these parameters ?

0 投票
0 回答
705 浏览

c++ - 点云转换为二维范围

我正在尝试将使用libfreenect2从 Kinect V2 获取的点云(x、y、z)数据转换为虚拟2D 激光扫描(例如,水平角/距离矢量)。

我目前正在为每个像素列分配 PCL 距离值,如下所示:

您可以忽略该rotate_translate方法,它只是使用传感器姿势将局部坐标更改为全局坐标。

使用下面的图片可以最好地显示该问题:

而激光雷达距离传感器产生以下点图:

激光雷达地图

kinect 2D 范围扫描是弯曲的,当然更窄,因为与激光雷达的 270 度范围相比,水平 FOV 为 70.6 度。

kinect 地图

我正在尝试修复的正是这种曲率;我正在使用的 SLAM/ICP 库是mrpt,实际数据scan被插入到mrpt::obs::CObservation2DRangeScan观察中:

我搜索了 google 和 SO,似乎解决这个问题的唯一答案是this onethat one。因此,虽然我知道曲率是我为每个像素列分配 PCL 值的结果,但我不确定如何使用它来消除曲率。

每个回复似乎都采取了不同的方法,据我了解,任务是每像素比率的角度和当前像素坐标的线性插值?

0 投票
0 回答
348 浏览

c++ - 如何使用 Microsoft API 正确使用多个摄像头进行 Kinect v2 Fusion

我从网络接收多个深度帧并使用修改后的 Kinect Fusion C++ 示例集成到重建中:

m_worldToCameraTransform手动为每个矩阵设置了矩阵,使用滚动条来确定旋转角度和距离。

问题包括以下内容:

  1. 当然,我无法通过手动校准获得出色的精度,但情况会变得更糟,因为当添加到重建中时看起来深度帧(而不是物理设备)相互“阴影”,并且差异导致组合重建的质量较低时与从一个角度使用的单个设备相比。我将尝试在此处的屏幕截图中显示它:

组合时质量下降

请注意,第一个和第二个屏幕截图表明 Kinect 似乎没有考虑视点角度(透视)。

非常精确定位后可以降低这种效果,但我能达到的最佳效果仍然很差:

组合时质量下降 - 2

  1. 似乎是 1 的结果:我只能以这种方式将 Kinect Fusion 重建应用于单个帧(即在一个时刻集成 3 个深度帧)并且需要不断地重置重建,因为添加下一个数据会完全破坏它。这不是一个大问题,因为我想做实时 3d 重建,但是有没有什么办法可以得到更好的形状?

我正在考虑导出网格并使用一些网格平滑,但可能我只是在 API 上做错了什么?例如,当有轻微的不一致时,我可以使不同的部分不相互影响吗?

谢谢!

0 投票
0 回答
1256 浏览

c++ - 如何使用 cmake 正确导入 freenect2?

我必须使用 kinect2 (ubuntu 16.04 LTS)。所以我安装了几件东西:

当我使用第一个 kinect 时,我能够毫无问题地导入 libfreenect 工具,但现在使用 libfreenect !

你可以在这里找到我的 CMake 。CMake 中的其他库没有任何问题。

我为安装 libfreenect2 所做的更改:

  • 我在我的文件夹 ~/sofware 中克隆了存储库。(我把我所有的库放在这里)

  • 代替

    我做了

    /li>

当我编译时使用我的Cmake,我得到了这个:

所以我的make无法链接freenec2 lib。但我不明白为什么我把它放在我的makefile中:

有人知道如何正确链接吗?我真的被困住了:/

如果您需要其他任何东西,请询问,谢谢!

PS:我的代码中最重要的事情是(足以使 make 崩溃):

  • 包括:#include <libfreenect2/libfreenect2.hpp>
  • 声明:libfreenect2::Freenect2 freenect2;
0 投票
0 回答
595 浏览

c++ - 如何正确使用 cv::merge 合并 3 个拆分通道

使用 libfreenect2 我可以在 4 通道 cv::mat 坦克中获得 rgba 图像,这些 3 行正在工作:

但我只想得到 rgb 图像。我尝试使用 cv::cvtColor 但我遇到了分段错误,所以我现在想自己使用 cv::split 和 cv::merge 来完成。但是,我再次遇到“分段错误(核心转储)”。但我真的不明白为什么。这是使用上面的 3 行填充 rgba_mat 的代码:

如您所见,我尝试了几件事来找出问题的根源并得到以下输出:

由于所有频道的尺寸都很好,我不明白为什么合并不起作用......

谢谢你的帮助 :)