保存图片感兴趣区域

#include "cv.h"
#include "highgui.h"

void videoFork(CvCapture *capture)
{
	int mod = 30;////每十张取一张
	int count=0;
	int iimage=0;
	char imagename[20]="\0";
	if( capture==NULL)
		return ;
	IplImage *sour=NULL;
	while(1)
	{
		sour = cvQueryFrame(capture);
		if(sour==NULL)
			break;
		count++;
		if( count%mod==0)
		{
			count=0;
			sprintf(imagename,"%dbefore.jpg",iimage);
			cvSetImageROI(sour,cvRect(0,0,sour->width/2,sour->height));
			CvSize dst_size;
			dst_size.width = sour->width;
			dst_size.height=sour->height;
			IplImage *saveImage;
			saveImage = cvCreateImage(dst_size,sour->depth,sour->nChannels);
		//	cvResize(sour,saveImage,CV_INTER_LINEAR);
			cvSaveImage(imagename,sour);
			cvResetImageROI(sour);
		//	iimage++;
			cvSetImageROI(sour,cvRect(sour->width/2,0,sour->width/2,sour->height));
			sprintf(imagename,"%dafter.jpg",iimage);
		//	cvResize(sour,saveImage,CV_INTER_LINEAR);
			cvSaveImage(imagename,sour);
			iimage++;
			cvResetImageROI(sour);
		}
	}
}

int main()
{
	CvCapture *capture = cvCreateFileCapture("test.wmv");
	if( capture!=NULL )
		videoFork(capture);

	return 0;
}

发布了37 篇原创文章 · 获赞 14 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/xiaod_szu/article/details/13016503