成都网站建设设计

将想法与焦点和您一起共享

opencvcvCaptureFromFile读取视频问题汇总

一、无法读取文件
报错:

公司主营业务:成都网站建设、网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出深州免费做网站回馈大家。

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读取视频问题汇总



本文题目:opencvcvCaptureFromFile读取视频问题汇总
文章起源:http://chengdu.cdxwcx.cn/article/gsceoo.html