首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Daniel Shiffman的Openkinect软件与未运行RGBDepth的Kinect for Windows示例

Daniel Shiffman的Openkinect软件与未运行RGBDepth的Kinect for Windows示例
EN

Stack Overflow用户
提问于 2012-06-20 05:08:17
回答 1查看 1.6K关注 0票数 1

为了让Windows版的Kinect真正生成图像,我已经尝试了几乎所有的方法。我已经下载了Daniel Shiffman的Openkinect库,并按照说明安装了它,但我收到的消息是没有安装kinect设备。我看了看Lion中的系统分析器,我有可用的摄像头和Kinect音频信息。尽管如此,我还是没有成功。我正在运行RGBDepth示例的处理,每次我尝试启用深度图像、RGB图像或IR图像时,都会得到nullpointerexception。我在想,因为程序不能“看到”Kinect,所以图像返回null并发生异常。我该怎么做才能让我的笔记本电脑“看到”Kinect?

另外,在您说要插入12V直流适配器或切换USB端口之前,我已经这样做了。

2011年末在Macbook Pro OSX Lion上运行

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-26 15:06:36

EDIT 2: Working code:此分支已经包含了我所做更改的一个子集,并实际运行。它是不稳定的,但至少你可以得到一个深度和彩色图像。https://github.com/zarvox/libfreenect/tree/k4w-wip

这种不稳定是由于达尔文上的libusb的同步传输造成的。libfreenect附带的补丁使得libusb不那么不稳定。

主树中不支持Kinect for Windows。你试过这个补丁吗?https://github.com/renewagner/libfreenect/tree/k4w-wip

编辑:这个存储库对于我(我们)拥有的固件版本来说太旧了。

要对摄像头进行检测,您只需要在三个地方更改usb_libusb10.c,在那里它会检查desc.idProduct == PID_NUI_CAMERA。这现在必须是

代码语言:javascript
复制
(desc.idProduct == PID_NUI_CAMERA || desc.idProduct == PID_NUI_CAMERA_K4W);

并添加:

代码语言:javascript
复制
#define PID_NUI_CAMERA_K4W 0x02bf

还请记住,Windows版Kinect没有马达。您可能需要修改假定其存在的源代码。

然而,这仍然是不够的。USB命令也发生了变化。

在cameras.c中,

代码语言:javascript
复制
static int freenect_fetch_zero_plane_info(freenect_device *dev)
{
    freenect_context *ctx = dev->parent;

    char reply[0x200];
    uint16_t cmd[5] = {0}; // Offset is the only field in this command, and it's 0
    // Different reply based on hardware
    const int expected_reply_length = dev->kinect_for_windows ? 334 : 322;
    int res;
    res = send_cmd(dev, 0x04, cmd, 10, reply, expected_reply_length); //OPCODE_GET_FIXED_PARAMS = 4,
    if (res != expected_reply_length) {
        FN_ERROR("freenect_fetch_zero_plane_info: send_cmd read %d bytes (expected %d)\n", res, expected_reply_length);
        return -1;
    }

请注意,我在freenect_device中添加了一个字段,用于存储是否为Windows版Kinect。

它仍然不是流数据,但这是我所能得到的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11109456

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档