vs2017+opencv3.4.15 VideoCapture 读取摄像头视频失败问题


  环境: win7 vs2017+opencv3.4.15

  首先 vs2010 + opencv3.0.0 VideoCapture 读取本地视频成功和摄像头视频都是没有问题的,改用vs2017 + opencv3.4.15 读取本地视频也没有问题,读取摄像头视频就出现以下错误(0x10FCBF00 (opencv_world3415.dll)处(位于 faceTrackerCvPro.exe 中)引发的异常: 0xC0000005: 读取位置 0x03791010 时发生访问冲突。):

 

  网上搜索,发现是VideoCapture 的默认参数是VideoCapture video(0,CAP_MSMF);

  我原先代码(VideoCapture video(CAP_ANY);)改为新的代码(VideoCapture video(CAP_ANY,CAP_DSHOW);)就没问题了。

  CAP_MSMF,CAP_DSHOW表示Media Foundation,DirectShow 两种流媒体处理接口。

参考:

https://blog.csdn.net/gjw61652/article/details/106878294/?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_title~default-1.no_search_link&spm=1001.2101.3001.4242

https://zhuanlan.zhihu.com/p/410853128

https://blog.csdn.net/Baple/article/details/32353833

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM