首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用默认情况的Orbbec和OpenNi2: DeviceOpen :没有找到设备

使用默认情况的Orbbec和OpenNi2: DeviceOpen :没有找到设备
EN

Stack Overflow用户
提问于 2018-02-21 22:07:14
回答 2查看 3.4K关注 0票数 4

我有一个通过USB连接的Orbbec天文深度传感器,设备管理器显示驱动程序安装正确。

我从orbbec.com下载了"Astra &orbbec.com“包,但只分别安装了从structure.io下载的SensorDriver_V4.3.0.4.exe和OpenNI2包。

我有下面的代码,它编译得很好。但在运行时,它返回Device open failed: DeviceOpen using default: no devices found

在运行NiViewer.exe时也会发生同样的情况,我在这里做错了什么?需要额外的司机吗?

代码语言:javascript
复制
#include "stdafx.h"
#include <OpenNI.h>

int main()
{
    openni::Status rc = openni::STATUS_OK;
    openni::Device device;
    openni::VideoStream depth, color;

    const char* deviceURI = openni::ANY_DEVICE;

    rc = openni::OpenNI::initialize(); 

    printf("After initialization:\n%s\n", openni::OpenNI::getExtendedError());

    rc = device.open(deviceURI); 

    if (rc != openni::STATUS_OK)
    {
        printf("Device open failed: %s\n", openni::OpenNI::getExtendedError());
        openni::OpenNI::shutdown();
        return 1;
    }

    return 0;
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-02-22 21:03:28

我通过卸载从OpenNI2下载的structure.io包并使用Orbbec驱动程序附带的OpenNI2文件“解决了”这个问题。

仍然不知道为什么我不能使用普通的香草OpenNI2包..。

票数 0
EN

Stack Overflow用户

发布于 2018-05-24 07:10:52

您只需要在已经安装的OpenNI 2.2SDK文件夹结构(类似于zzzz 2\驱动程序)中复制已经安装的OPENNI2 2.2SDK文件夹结构中的3个文件(在自定义的ORBBEC中提供):

  • xxxx\OpenNI2\Drivers\orbbec.ini xxxx\OpenNI2\Drivers\orbbec.lib xxxx\OpenNI2\Drivers\orbbec.dll

基本上,您是通过添加一个“驱动程序”来扩展OPENNI2管理摄像机的数量。当前默认安装文件夹已经包含以下内容:

  • Kinect.dll,Onifile.dll,PS1080.ini PS1080.lib PS1080.dll PSLink.ini PSLink.lib PSLink.dll

(因此,添加3个在轨add文件)

重要:如果您从命令行启动niviewer.exe,它将首先搜索一个相对子文件夹\OpenNI2\drivers子文件夹(因此在本例中更新此子文件夹),或者根据安装情况在默认安装环境参数(OPENNI2_REDIST或OPENNI2_REDIST64)中查找该子文件夹。所以保重!希望能帮上忙。

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

https://stackoverflow.com/questions/48916317

复制
相关文章

相似问题

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