2010年9月22日星期三

在OpenCV中,cvCreateFileCapture函数返回NULL

在OpenCV中,这个函数cvCreateFileCapture用来从视频文件(.avi)获取一个Capture,函数的原型如下:

Capture* cvCreateFileCapture(const char* filename)

在调用的时候发现返回值是NULL。在网上找到解决方法,主要原因还是解码器的问题。即使你的电脑能播放avi文件,但是cvCreateFileCapture只是支持有限的几种avi格式。

解决方法:网上下载安装K-Lite Code Pack解码器,一般就能解决问题。如果还是不行,就要把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


本文参考了这里:

没有评论:

发表评论