温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

opencv cvCaptureFromFile读取视频问题汇总

发布时间:2020-08-06 21:56:21 来源:ITPUB博客 阅读:250 作者:yingzimizhan 栏目:建站服务器

一、无法读取文件
报错:

OpenCV报错:

warning: Error opening file (../../modules/highgui/src/cap_ffmpeg_impl.hpp:529)
capture device failed to open!

解决方案:更改输入video文件的路径,确定正确后即运行成功

二、
之前一直使用台式机win7 x64位系统做图形图形处理,调用opencv库函数一直很正常;然而最近使用笔记本处理时总是读取不到cvCaptureFromFile视频文件。


1、问题原因

(1)可以是读取的文件目录存在问题,找不到相应的视频文件,导致返回NULL;

(2)读取的视频文件存在问题,不是真正的视频文件;

(3)缺失解码

由于我是从台式机上copy过来的项目,前两总情况基本不成立;由于系统的差异,我还是测试了路径中使用‘/’ 或者'\\'、间接路径改为直接路径等,但是任然没有解决。

2、解决方法

通过一系列的测试,我最终锁定问题3,于是检索相关问题解决方案。

(1)部分解决方法  下载xvid并安装,https://www.xvid.com/download/ 。

(2)另一种说法是下载K-Lite_Codec_Pack 软件安装,里面包含了需要的解码接口。

然而,这两种方法都没有解决我存在的问题,最初我还以为是设置除了问题,是不是环境变量设置不对,安装以上的软件是不需要配置,但总觉得挺麻烦,于是冷静下来,从头在思考。总觉得opencv设计不应该存在这么强依赖性的缺陷,于是我想到是不是缺少组件。因为编译通过,程序可以运行,我就认为配置上不会存在问题,但还是看了看相关dll。

(3)缺少opencv_ffmpeg2410.dll,将opencv_ffmpeg2410.dll加入到项目根文件夹下或者debug中。

三、dll文件配置

我们在使用vs进行开发调试的时候经常会遇到一个问题,就是当我们的主工程引用到其他工程更新的dll(我们经常采用copy到工程目录的方法)、亦或者当我们的多个工程引用到同一个dll文件的时候,我们怎么来配置:

1、将dll配置到环境变量:

这种方法当然是可行的,只不过当我们的工程位置发生变化,环境变量就需要重新配置,而且为了单个小工程就去改变环境变量显得小题大做,不过也是一种方法;

2、工程的本地化配置:

通过设置vs工程的环境变量,实现对单个工程本地化配置的目标,环境变量可随整个工程迁移,设置方法:vs工程属性-->配置属性-->调试-->环境,例如,我们要引用../../bin/目录里面的dll,那么我们可以设置为:path=%path%;..\..\bin,如图:

opencv cvCaptureFromFile读取视频问题汇总

四、无法查找或打开 PDB 文件

问题描述

“Win32Project3.exe”(Win32):  已加载“D:\software\VS2013\VS2013 文档\Win32Project3\Debug\Win32Project3.exe”。已加载符号。
“Win32Project3.exe”(Win32):  已加载“C:\Windows\SysWOW64\ntdll.dll”。无法查找或打开 PDB 文件。
“Win32Project3.exe”(Win32):  已加载“C:\Windows\SysWOW64\kernel32.dll”。已加载符号。
“Win32Project3.exe”(Win32):  已加载“C:\Windows\SysWOW64\KernelBase.dll”。无法查找或打开 PDB 文件。
“Win32Project3.exe”(Win32):  已加载“C:\Windows\SysWOW64\msvcr120d.dll”。已加载符号。
程序“[4308] Win32Project3.exe”已退出,返回值为 0 (0x0)。
	
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

解决方式

1、点 调试,然后 选项和设置 
opencv cvCaptureFromFile读取视频问题汇总 
2、右边勾上 启用源服务器支持 
opencv cvCaptureFromFile读取视频问题汇总 
3、左边点 符号,把 微软符号服务器 勾选上 
opencv cvCaptureFromFile读取视频问题汇总 
4、运行的时候等一下,加载完成后就好了。 
5、只是第一次加载,不用担心。或者,你也可以等加载完了之后,再把之前勾选的取消掉,也没有问题。 
opencv cvCaptureFromFile读取视频问题汇总



向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI