关于opencv2.4.9和VS2013在windows7下无法打开摄像头的问题的扯

使用opencv 的过程中可能会遇到无法打开摄像头的情况。主要问题在buffers do not match 和 摄像头的驱动使用的Directshow而不是VFW,导致无法打开摄像头。文章通

               最近在做一个关于在摄像头中捕捉人脸并追踪人的眼睛的项目,在编程过程中发现始终无法打开摄像头。

               后来发现的问题主要集中在以下几个方面:

一 、opencv 的数据不足以支持获取的视频图像。

"buffers do not match"问题是捕捉的视频的图像的分辨率高于opencv 中的数据结构能够承载的最大的数据范围,所以导致虽然能够打开摄像头,但是显示出错,,所以在debug时会报错。

     这种问题的解决 办法是在获取到frame后,对frame进行参数的重新设置,降低图像的分辨率,再显示图像,就没问题了。

二 、摄像头的驱动不匹配

      始终无法打开摄像头,也不报错。

     使用cvCaptureFromCam(-1)始终返回为NULL.或者使用CreateCameraCapture都无法打开摄像头。这种情况主要是由于windows 下的摄像头的都用了Directshow,而opencv 的这两个函数都需要使用VFW的驱动才能正常使用。解决办法:比较复杂,可以在VS中加入DirectShow的一些函数库,来实现二者的兼容。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值