我在 ubuntu 11.04 上使用 opencv 2.3。在编译时,为了完整起见,我设置了 WITH_OPENNI=ON。(现在很遗憾,因为我不打算很快使用 kinect,而且 openni 让我对普通的 opencv 程序感到头疼)
无论如何,为了测试 opencv 安装,我编译了以下代码,这些代码显示了我笔记本电脑网络摄像头的视频:
#include <stdio.h>
#include <string.h>
#include "highgui.h"
#include "cv.h"
int main()
{
cvNamedWindow("Webcam",CV_WINDOW_AUTOSIZE);
CvCapture* capture=cvCaptureFromCAM(0);
IplImage* frame;
while(1)
{
frame=cvQueryFrame(capture);
if(!frame) break;
cvShowImage("Webcam",frame);
char c=cvWaitKey(33);
if(c==27) break;
}
cvReleaseCapture(&capture);
cvDestroyWindow("Webcam");
}
代码正确遵守,但在执行时出现以下错误:
OpenCV 错误:CvCapture_OpenNI,文件 /home/samarth/OpenCV-2.3.0/modules/highgui/src/cap_openni.cpp,行中的未指定错误(无法枚举生产树:无法创建任何请求类型的节点!)抛出'cv :: Exception'what()的实例后调用188终止:/home/samarth/OpenCV-2.3.0/modules/highgui/src/cap_openni.cpp:188:错误:(-2)无法枚举生产树:无法创建任何请求类型的节点!在函数 CvCapture_OpenNI
中止
有人遇到过同样的问题吗?任何解决此问题的想法将不胜感激。