设计网站推荐html/找网站设计公司
弄了一天终于把这个弄好了,下面是摘抄的各位高手的方法,我已经试验成功,在这里分享给大家。
首先,OpenCv书上的程序没问题,尽可不必怀疑书上代码的可靠性。调试时出错的情况就是不显示视频,窗口为灰色窗口一闪而过。
运行环境 OpenCV2.4.11,VS2010,Win7
1,关于AVI视频的格式,OpenCV支持的AVI格式是有限的,关于AVI视频的转码问题,我的解决办法是下载XviD解码器和VirtualDub软件,先安装的XviD是个插件不用管它,后安装的virtualdub将其他格式的视频文件转化为avi的步骤为:1:File->Open Video File ;2Video->Filters ->ADD->Convert format,选择4:2:0Planar YCbCr(YV12)或者32-Bit RGB;3Save as AVI 。如果已经有avi视频则看情况选择上述步骤。
2,将argv[1]替换为自己的AVI视频文件路径,一定要是全路径 调试中的快捷键,F9设置断点,F10单步运行,F11是继续单步运行,利用这几个快捷键可以查看函数运行过程中变量的值)。
简单显示AVI视频的程序如下:// test_AVI.cpp : 定义控制台应用程序的入口点。
#include "stdafx.h"
#include "highgui.h"
int _tmain(int argc, _TCHAR* argv[])
{
cvNamedWindow("Example2",CV_WINDOW_AUTOSIZE);
//char *pFilename;
//pFilename="E:\\Matlab7.0\\myimage\\001.avi";
CvCapture* capture=cvCreateFileCapture(argv[1]);//argv[1] pFilename ("E:\\Matlab7.0\\myimage\\3.avi")pFilename
IplImage* frame;
while(1)
{
frame= cvQueryFrame(capture);
if(!frame)
break;
cvShowImage("Example2",frame);
char c=cvWaitKey(33);
if(c==27)
break;
}
cvReleaseCapture(&capture);
cvDestroyWindow("Example2");
return 0;
}