#include "stdafx.h"
#include <iostream>
#include <highgui.h>
#include <cv.h>
IplImage * doPryDown(IplImage * in,int filter=CV_GAUSSIAN_5x5)
{
IplImage * out=cvCreateImage(cvSize(in->width/2,in->height/2),in->depth,in->nChannels);
cvPyrDown(in,out,CV_GAUSSIAN_5x5);//filter=7 目前只支持CV_GAUSSIAN_5x5
return (out);
}
IplImage * doPyrUp(IplImage * in,int filter=CV_GAUSSIAN_5x5)
{
IplImage * out=cvCreateImage(cvSize(in->width*2,in->height*2),in->depth,in->nChannels);
cvPyrUp(in,out,CV_GAUSSIAN_5x5);//filter=7 目前只支持CV_GAUSSIAN_5x5
return (out);
}
int main()
{
cvNamedWindow("in");
cvNamedWindow("out");
IplImage * in= cvLoadImage("C:\\Users\\Administrator\\Desktop\\1001.png");
cvShowImage("in",in);
IplImage * out = doPryDown(in);
cvShowImage("out",out);
cvWaitKey(0);//key point
cvReleaseImage(&in);
cvReleaseImage(&out);
cvDestroyWindow("in");
cvDestroyWindow("out");
}
/*
Smoothes the input image with gaussian kernel and then down-samples it.
dst_width = floor(src_width/2)[+1],
dst_height = floor(src_height/2)[+1]
*/
CVAPI(void) cvPyrDown( const CvArr* src, CvArr* dst,
int filter CV_DEFAULT(CV_GAUSSIAN_5x5) );
/*
Up-samples image and smoothes the result with gaussian kernel.
dst_width = src_width*2,
dst_height = src_height*2
*/
CVAPI(void) cvPyrUp( const CvArr* src, CvArr* dst,
int filter CV_DEFAULT(CV_GAUSSIAN_5x5) );