【转】opencv视频读取问题
2012-10-29 11:26
337 查看
原文地址:/article/4956246.html
opencv视频读取问题
视频读写概述
对视频进行读写,可使用OpenCV提供的CvCapture和CvVideoWriter。在Windows平台下,OpenCV以前提供的读写功能采用VFW,效率低下且有些格式支持不好。而 OpenCV 2.0 内置了videoInput
Library,可以自动在VFW和DirectShow间切换
Windows下从摄像头采集图像
请参考:Shiqi
Yu编写的CCameraDS类(勿需安装庞大的DirectX,简洁,推荐!)
hardy_ai编写的ARFrameGrabber类
Theodore Watson编写的videoInput
Library(勿需安装庞大的DirectX,功能丰富,推荐!)
Windows下读写视频
很多朋友在Windows下使用cvCreateFileCapture无法打开视频文件,或cvCreateVideoWriter创建视频文件时,经常无法创建文件。可从http://www.xvidmovies.com/codec/ 下载XviDcodec,并安装。然后就可以用cvCreateFileCapture打开XviD编码的视频文件(注意:采用其他编码格式的仍然不一定能打开)。创建视频文件时,请使用CV_FOURCC('X',
'V', 'I', 'D')则定可成功。
小诀窍:
要调整XviD视频质量,可以运行“开始->所有程序->Xvid->Configure Encoder”,设置"Target Quantizer",如下图所示:
缺省情况下,创建视频文件时,会弹出一个XviD编码窗口,要禁止此窗口出现,可点击上面窗口里的"Other options...",取消"Display encoding status"。如下图所示
取自"http://www.opencv.org.cn/index.php/%E8%A7%86%E9%A2%91%E8%AF%BB%E5%86%99%E6%A6%82%E8%BF%B0"
另外一种方法:
刚开始使用OpenCV1.0+codeblocks10.2来学习开发opencv,入门教程的读取视频遇到一些问题。用cvCreateFileCapture()函数读取AVI视频文件(该视频文件由QQ影音截取转存得来),返回值为NULL,读取失败。同时,《学习OpenCV》例程里的avi视频文件可以读取。
此时,说明电脑上解码器有问题,AVI视频文件也有不同的编码。xp系统中,使用Windows Media Player
可以播放AVI文件时,问题就解决了。
解决办法:给系统装FMP4解码器地址:www.mirrorservice.org/sites/download.sourceforge.net/pub/sourceforge/f/project/ff/ffdshow-tryout/SVN%20builds%20by%20xxl/win32%20generic%20builds/ffdshow_rev3562_20100907.exe
装好之后,发现,问题就这么解决了!
opencv创建视频:CvVideoWriter* cvCreateVideoWriter ( const char* filename,
int fourcc, double fps, CvSize frame_size, int is_color=1 );
fourcc
四个字符用来表示压缩帧的codec 例如,
CV_FOURCC('P','I','M','1') = MPEG-1 codec
CV_FOURCC('M','J','P','G') = motion-jpeg codec
CV_FOURCC('M', 'P', '4', '2') = MPEG-4.2 codec
CV_FOURCC('D', 'I', 'V', '3') = MPEG-4.3 codec
CV_FOURCC('D', 'I', 'V', 'X') = MPEG-4 codec
CV_FOURCC('U', '2', '6', '3') = H263 codec
CV_FOURCC('I', '2', '6', '3') = H263I codec
CV_FOURCC('F', 'L', 'V', '1') = FLV1 codec
如果碰到H264编码格式的文件,opencv读取不了,如果电脑中已有Xvid转换器,可用视频转换器将其转为XviD编码格式的,本人用的狸窝转换器,比较方便。
相关文章推荐
- OpenCv中avi视频的读取问题,以及内部格式要求
- 关于Linux下使用OpenCv读取视频打不开的问题
- 解决 “python + opencv” 不能读取视频的问题
- python + opencv: 解决不能读取视频的问题
- Opencv读取视频文件的几个问题及解决方法(读入空Mat,访问冲突)
- OpenCV 读取AVI格式视频问题
- python3.5 + opencv3.2 + pyinstaller,cv2.VideoCapture(fileName)无法读取视频的问题
- 关于OpenCV不能读取视频和写入视频的问题
- AVI编码方式及OpenCV读取AVI文件-解决opencv无法读AVI视频的问题
- 利用OpenCv读取视频时释放IplImage结构的问题
- opencv读取avi视频解码问题
- opencv读取视频和摄像头常见问题
- AVI编码方式及OpenCV读取AVI文件-解决opencv无法读AVI视频的问题
- opencv 读取视频的问题 转自eva1988725的专栏
- 解决windows+python+opencv无法读取视频的问题
- 关于opencv中不能读取视频avi的问题
- python+Opencv视频读取问题+官网光流法示例程序报错问题解决
- OpenCV 1.0 cvCaptureFromFile读取视频失败问题
- opencv多线程读取视频的问题
- opencv视频读取问题