#include "stdafx.h" #include 
#include
#include
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) );