我需要从Kinnect相机捕获彩色RGB图像,但我想在OpenCV中显示它,因为这只是更大程序的一部分.我知道如果你设置了标志,OpenCV与OpenNI兼容,但是虽然我努力了但是CMake找不到OpenNI2的路径所以我无法使用OpenNI构建OpenCV.无论如何,我认为知道如何手动将OpenNI帧转换为openCV帧是很好的,所以我决定采用这种方式.
为了在OpenNI中捕获颜色框架,我尝试了以下方法:
openni::Device device;
openni::VideoStream color;
openni::VideoFrameRef colorFrame;
rc = openni::OpenNI::initialize();
rc = device.open(openni::ANY_DEVICE);
rc = color.create(device, openni::SENSOR_COLOR);
rc = color.start();
color.readFrame(&colorFrame);
const openni::RGB888Pixel* imageBuffer = (const openni::RGB888Pixel*)colorFrame.getData();
Run Code Online (Sandbox Code Playgroud)
但现在我不明白如何转换为cv :: Mat.
有没有人管这样做?
我为了得到下面这个教程得到我的Mac上安装SimpleOpenNI,但我一直陷在安装OpenNI和NITE组件,因为它需要我导航到终端的文件夹,然后运行"命令运行./install.sh" .我这样做,我得到这个错误:
sudo:./ install.sh:找不到命令
我已经在Xcode和所有东西中安装了命令行工具.
谢谢
我正在使用一些简单的基于 openni 的处理应用程序来破解 Kinect,我打算很快发表一个演讲,我发现了一个似乎可以控制电机的 API。有一个 moveKinect 方法似乎已添加到主 ContextWrapper 界面,但我似乎无法让它工作。查看 svn 历史和发行说明,它似乎是去年添加的,并附有说明它不适用于最新驱动程序(5.1.02,Linux64)的说明。我试过调用该方法以提供度数和弧度值,但没有任何反应。我没有错误,也没有动作。有没有其他人玩过这个?我正在运行第二个到最新的处理 2.0 版本(处理 2.0.1 的链接不起作用)和我可以下载的最新 SImpleOpenNI 包。