opencv学习之cvPyrDown

来源:互联网 发布:工业企业分行业数据 编辑:程序博客网 时间:2024/05/01 07:17
#include "highgui.h"
#include "cv.h"


//要进行缩放比例为2的缩放处理


IplImage* doPyrDown(IplImage* in, int filter = IPL_GAUSSIAN_5x5)
{
assert(in->width % 2 == 0 && in->height % 2 == 0);
IplImage* out = cvCreateImage(cvSize(in->width / 2, in->height / 2), in->depth, in->nChannels);
cvPyrDown(in, out,filter);
return(out);
}


CvCapture* g_capture = NULL;


int main()
{

cvNamedWindow("origin", CV_WINDOW_AUTOSIZE);
cvNamedWindow("changed", CV_WINDOW_AUTOSIZE);
g_capture = cvCreateFileCapture("test.avi");

IplImage* frame;
IplImage* frame_out;
while (1)
{
frame = cvQueryFrame(g_capture);
if (!frame)
break;
cvShowImage("origin",frame);
frame_out = doPyrDown(frame);
cvShowImage("changed", frame_out);

char c = cvWaitKey(33);
if (c == 27)
break;


}
cvDestroyWindow("origin");
cvDestroyWindow("changed");


}
0 0