载入一幅图像分别使用cvResize() 和 cvPyrDown()进行图片的三次缩放,比较结果;
#include <iostream>
#include <opencv2/opencv.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/core/core.hpp>
#include <stdio.h>
#include <cstdlib>
using namespace std;
using namespace cv;
IplImage * doPryDown(IplImage * in,int filter=CV_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,CV_GAUSSIAN_5x5);//filter=7 目前只支持CV_GAUSSIAN_5x5
return (out);
}
int main(int argc, const char * argv[]) {
/*1.载入图像,并转化为灰度图像*/
const char filename[] = "/Users/linwang/Downloads/30.png";
IplImage * Img = cvLoadImage(filename,CV_LOAD_IMAGE_GRAYSCALE);
cvShowImage("Gray-Lena", Img);
/*2. 将这幅图像缩小三次,并显示结果*/