我正在尝试安装 OpenNI2(与我的 Asus Xtion 和 PrimeSense 传感器一起使用)。我从http://structure.io/openni
我使用 apt-get 安装了 libusb-dev。我尝试以 root 身份运行提供的 install.sh 脚本,但它只生成一个包含以下内容的文件:
export OPENNI2_INCLUDE=/home/mpkuse/Downloads/OpenNI-Linux-x64-2.2/Include
export OPENNI2_REDIST=/home/mpkuse/Downloads/OpenNI-Linux-x64-2.2/Redist
此外,网站还表示不需要额外的驱动程序。我该怎么做?
我尝试设置 ${LD_LIBRARY_PATH} 但出现以下错误:
After initialization:
SimpleViewer: Device open failed:
DeviceOpen using default: no devices found
尝试以 root 身份执行所有操作。问题仍然存在。
$ lsusb
Bus 004 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 004: ID 1d27:0601 ASUS
Bus 003 Device 003: ID 046d:c534 Logitech, Inc.
Bus 003 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
我可以确认安装脚本将规则添加到 /etc/udev/rules.d
$ ls -l /etc/udev/rules.d/
total 12
-rw-r--r-- 1 root root 1541 Oct 27 15:51 557-primesense-usb.rules
-rw-r--r-- 1 root root 628 Oct 23 18:18 70-persistent-net.rules
-rw-r--r-- 1 root root 1157 Apr 15 2014 README
答案1
我也对那些文件感到疑惑,因为我不知道它如何以及何时有用。
为了使我的传感器与 OpenNI2 二进制文件和样本一起工作,我必须做两件事:
确保已制定 UDEV 规则并设置正确的权限和属性
- 就您而言,您使用的是 Primesense 相机 (Asus Xtion Pro (Live)),因此安装步骤应该已经为其添加了规则。通过
XX-primesense.rules
在/etc/udev/rules.d/
.XX 中查找某个数字(正确为 57 或 557)的文件来验证这一点。
- 就您而言,您使用的是 Primesense 相机 (Asus Xtion Pro (Live)),因此安装步骤应该已经为其添加了规则。通过
将 OpenNI2 库的路径添加到
LD_LIBRARY_PATH
。例如,在您想要运行示例的终端中执行以下操作:导出LD_LIBRARY_PATH =〜/下载/ OpenNI-Linux-x64-2.2/Redist /:$ {LD_LIBRARY_PATH}
上述过程使我能够成功运行SimpleRead
和SimpleViewer
示例应用程序(在OpenNI-Linux-x64-2.2/Samples/Bin
)。
希望这可以帮助!
PS:我必须使用不同的 OpenNI2 支持的传感器来完成同样的工作:https://3dclub.orbbec3d.com/t/linux-sdk-hardware-support/32/6?u=bit-pirate