当OpenCV版本换成2.4.9,可以读取视频,当OpenCV版本为3.4.1时,只能读取MJPG的格式,其他格式就是死活读不了,也搜索了很多博客,大概就是自己的配置中的ffmpeg*.dll发生了错误。
参考博客:https://blog.youkuaiyun.com/KayChanGEEK/article/details/79919417?utm_source=blogxgwz0 里面是关于CMake opencv时Download: opencv_ffmpeg.dll、ippicv等失败的解决方法,并且该博主也分享了opencv_ffmpeg.dll的网盘资源。
我照这个博主的文章看了一遍,博主所说的“CMake后会发现opencv-source根目录下会出现一个.cache的文件夹,里面有需要下载的内容,如果下载失败所有的内容都是0KB如下图:”,可是我的下载内容并不是0KB,所以我从cmake到重新生成的过程走了一遍,参考博客:https://blog.youkuaiyun.com/childbor/article/details/82984853,最后成功的可以运行,OpenCV3.4.1版本可以读取其他格式的视频。
总结:
1、首先可以参照我分享的第一个链接,如果在cmake过程opencv_ffmpeg.dll下载失败,可以通过该博主将opencv_ffmpeg.dll进行添加。
2、添加完之后,用cmake重新configure,generate
3、最后一定要在OpenCV.sln进行重新生成,具体不懂的可以参考第二个分享的链接里的相关步骤。
4、最最后,肯定是大功造成!