您的位置:首页 > 运维架构

用opencv抽取视频的帧并保存为连续的图片

2014-04-26 23:10 197 查看
转自/article/1738079.html

#include"stdafx.h"
#include <stdio.h>
#include <cv.h>
#include <highgui.h>

int main(int argc, char *argv[])
{
CvCapture* capture = cvCaptureFromAVI("C:\\me.avi");
int i = 0;
IplImage* img = 0;
char image_name[25];
cvNamedWindow( "vivi");
//读取和显示
while(1)
{
img = cvQueryFrame(capture); //获取一帧图片
if(img == NULL)
break;

cvShowImage( "vivi", img ); //将其显示
char key = cvWaitKey(20);
sprintf(image_name, "%s%d%s", "..\\tutu\\image", ++i, ".jpg");//保存的图片名
cvSaveImage( image_name, img); //保存一帧图片
}

cvReleaseCapture(&capture);
cvDestroyWindow("vivi");

return 0;
}

========================

这里是将抽取的图片保存在了 当前目录下的 tutu 目录下。

开始的时候遇到了 Stack around the variable was corrupted

的问题。。。

后来才发现是

存放图片名字的数组 溢出了。。。。

额,要注意哟~~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: