1、AVItoImage实现
在图像处理中经常需要将视频文件转化为图片文件格式,以便于我们一帧一帧地分析图像,得到我们需要的有用信息。
以下程序实现以上功能,VC6.0平台,采用opencv1.0库。
#include "cv.h" #include "highgui.h" #include <stdio.h> #include <string.h> #include <iostream> using namespace std; char image_name[13];//保存的图片名 void main(int argc, char *argv[]) { CvCapture *capture=cvCaptureFromAVI("input\\J10.avi"); IplImage *frame=NULL; int FrameNum=0; int i=0; char c; frame=cvQueryFrame(capture); if (frame==NULL) { cout<<"加载视频失败!"<<endl; } while (frame=cvQueryFrame(capture)) { FrameNum++; if(FrameNum%20==0) { sprintf(image_name, "output\\%d.jpg",i);//保存的图片名 cvSaveImage( image_name, frame); //保存一帧图片 i++; } c=cvWaitKey(); if (c==27) { break; } } cout<<"convert completion!"<<endl; cvReleaseImage(&frame); cvReleaseCapture(&capture); }