1.功能:
opencv读取指定文件夹中的视频文件,按照一定的间隔截取某些帧,将这些帧图像连续命名,存储在指定文件夹里。
2.代码如下:
(1)IplImage
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <cv.h>
#include <highgui.h>
void Video_to_image(char* filename,char * outfile, int interval)
{
//初始化一个视频文件捕捉器
CvCapture* capture = cvCaptureFromAVI(filename);
//获取视频帧数信息
cvQueryFrame(capture);
int numFrames = (int)cvGetCaptureProperty(capture, CV_CAP_PROP_FRAME_COUNT);//视频帧数
//printf("frame numbers : %d/n",numFrames);
//定义和初始化变量
int thisframe = 0;
IplImage* img = 0;
char image_name[100];//用来存储保存的图片名字
while(1)
{
img = cvQueryFrame(capture); //获取一帧图片
if (!img || thisframe >= numFrames)//若图像为空或超出总帧数跳出,则跳出
{
break;
}
if (thisframe % interval == 0)
{
sprintf(image_name,"%s%s%d%s", outfile,"image", thisfr