解决VC6.0用opencv无法打开avi文件的方法

 

      刚开始接触OpenCV,开始用的是1.0版本,支持VC6.0,如果想了解opencv1.0如何在VC6.0下配置,可以看一下我的另一篇文章----VC6.0下配置OpenCV1.0,都是自己一步一个脚印走过来的,绝对可靠!

    

     opencv1.0似乎只能打开avi格式的视频文件,而且对avi格式的视频文件也有严格的编码要求,这可能是opencv1.0的一个小小的缺陷,呵呵……

      在用VC6.0编译执行opencv利用cvCreateFileCapture()打开i视频文件的时候,语句如下;

      CvCapture* capture =cvCreateFileCapture("2.avi"); debug时候可以看到 capture 返回值一直是NULL ,运行时会一闪而过,无法播放视频。在这里我可以告诉你程序一般没问题,主要原因是你的电脑里面因为没有相应的解码器。所以无法识别AVI视频!(你会说你的播放器为什么可以播放,我可以问问你,你的播放器和你的电脑有个毛关系??你的播放器的解码插件在它自己的文件里,你能让你的windows程序去寻找那些插件吗?)               

    解决方案:利用ffdshow  软件下载安装相应的解码器。

FFDShow 下载与安装:

ffdshow下载地址:

http://sourceforge.net/projects/ffdshow-tryout/files/latest/download

安装指导:

1、安装时候,一定要选上“VFW接口”和“VirtualDub”(如果使用VirtualDub来进行格式的转换,要选择VirtualDub)

2、安装完成。进入开始->程序->ffdshow->ffdshow VFW设置,在Decoder选项卡下,选择编解码器,使各种视频格式对应的解码器没有被Disable就可以了,之后确定就OK了。

如下图

解决VC6.0用opencv无法打开avi文件的方法_第1张图片

 

到此,你的电脑里面就有新的血液了……

  现在在试一下,是不是问题迎刃而解了……

 

如果,还没有解决,那就是你的视频格式的问题,下载一个VirtualDub或者格式工厂进行格式转换一下就好啦。

VirtualDub使用方法:

下载VitualDub, (下载地址百度去吧,太多了~~) 步骤:

a. File->Open Video File;

 b. Video->Filters->Add->Convert format; 选择4:2:0 Planar YCbCr (YV12)或者 32-Bit RGB。

c. Save as AVI. 保存完毕。

格式工厂的话,中文的,那么容易操作,我都不好意思说怎么用~~~但是注意选择好编码格式,是Xvid 编码~注意哦!

 

   GOOD LUCK  !!

你可能感兴趣的:(解决VC6.0用opencv无法打开avi文件的方法)