Opencv无法调用cvCaptureFromCAM无法打开电脑自带摄像头

最近一段正在为毕设的问题而焦虑,因为毕设选的题是关于图像处理方面的,在计算机视觉这个方面自己完全就是一个新手,完全都要从头学呢!不由得让人吐槽!

 

由于毕设要用的Opencv这个开源的计算机视觉库,由于毕设需要采集人图像,于是乎便敲了一段很简单的代码上去,但是结果却并不如想象中的那样。下面是代码

 1 const char *windowTitle="saveImageDemoWindow";    
 2     cvNamedWindow(windowTitle,CV_WINDOW_AUTOSIZE);
 3     CvCapture *capture=NULL;
 4     capture    =cvCaptureFromCAM(-1);
 5     IplImage *frame;
 6     if(capture==NULL)
 7     {
 8         fprintf(stderr,"can't open the camera");
 9         return 1;
10     }else
11     {
12         while (1)
13         {
14             frame=cvQueryFrame(capture);    
15             if(!frame)
16                 break;
17             cvShowImage(windowTitle,frame);
18             char key=cvWaitKey(33);
19             if(key==13)
20                 break;
21         }
22     }
23     cvReleaseCapture(&capture);
24     cvDestroyWindow(windowTitle);
25     return 0;

按照官方文档的说明其运行结果应该是完全正确的,但是实际运行过程中却出现执行cvCaptureFromCAM(-1)这个函数无法获得capture的情况。

按照官方文档的说明,根据函数签名,这里需要传入一个整形值,代表摄像设备的索引,0为默认打开本地电脑自带摄像设备,-1代表随机的(如果电脑没有外接摄像头的话0和-1都可以),其他值则是指定要显示的摄像设备。

但是实际测试中发现笔记本电脑貌似只能选择参数0才可以,传入-1却并不行,无法正常打开摄像头。

 

参考链接:http://blog.csdn.net/fightingforcv/article/details/19336181

转载于:https://www.cnblogs.com/dependmyse/p/3640003.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值