我在Ubuntu 11.04中使用OpenCV2.2。使用code :: blocks 10.05 IDE。使用openCV中的简单代码测试网络摄像头,以从网络摄像头捕获视频。但是,cvCreateCameraCapture(index)始终返回null(显示0错误,0警告)。 我检查了索引{-5到+5}。我的Acer Aspire 4736z的内置网络摄像头可以和Cheese一起使用。 lsusb显示:
总线002设备002:ID 04f2:b044 Chicony Electronics Co.,Ltd Acer CrystalEye网络摄像头
表示已安装驱动程序。
grep -i v4l / var / log / udev 返回
ID_V4L_VERSION = 2
ID_V4L_PRODUCT =视频WebCam
ID_V4L_CAPABILITIES =:捕获:
DEVLINKS = / dev / v4l / by-id / usb-Chicony_Electronics_Co .__ Ltd._Video_WebCam_SN0001-video-index0 /dev/v4l/by-path/pci-0000:00:1d.7-usb-0:4: 1.0视频索引0
此后:cvCreateCameraCapture returns null 但一无所获。
代码是:
int main(int argc, char**argv)
{
IplImage *img;
char ch;
int c;
CvCapture *capture= cvCreateCameraCapture(0);
cvNamedWindow("Example1",CV_WINDOW_AUTOSIZE);
if(!capture)
printf("Camera Not Initialized");return 0;
while (capture)
{
img=cvQueryFrame(capture);
cvShowImage("Example1",img);
ch=cvWaitKey(33);
if(ch==32)
break;
}
cvReleaseImage(&img);
cvDestroyWindow("Example1");
}
输出窗口 相机未初始化
进程返回0(0X0)执行时间:0.155s
按Enter继续。
请帮我解决问题,为什么相机无法正常工作?
答案 0 :(得分:0)