原文来自:http://blog.csdn.net/yeqiu712/article/details/6220030
其实AVI只是一个外壳。里面的东西可不一样的!
问题:为什么我的电脑支持AVI或者能够播出AVI,但为什么使用OpenCV里的cvCreateFileCapture函数总返回NULL呢?
答案:尽管是AVI文件,但也可能使用了某种codec,例如:MJPEG Decompressor。所以OpenCV格式不支持这种avi。
需要把它转换OpenCV支持的AVI文件.
OpenCV支持的AVI如下:
Container
FourCC
Name
Description
AVI
'DIB '
RGB(A)
Uncompressed RGB, 24 or 32 bit
AVI
'I420'
RAW I420
Uncompressed YUV, 4:2:0 chroma subsampled
AVI
'IYUV'
RAW I420
identical to I420
解决方法:下载VitualDub, 我使用1.9.4版本
a. File->Open Video File;
b. Video->Filters->Add->Convert format; 选择4:2:0 Planar YCbCr (YV12)或者 32-Bit RGB。
c. Save as AVI. 保存完毕。
(注:成功使用。)