转发自:http://www.cnblogs.com/scut-fm/p/3733560.html
</pre></p><p><pre name="code" class="cpp">// 此头文件包含图像IO函数的声明
#include "highgui.h"
// 此头文件包含基本的图像处理函数和高级计算机视觉算法
#include "cv.h"
int main (void) {
// 将D盘目录下名为" 1.jpg "的图像加载至内存并获得一个指向该图像内存块的指针img
IplImage * img = cvLoadImage ("D:\\1.jpg");
// 创建一个窗口显示缩放前的图像
cvNamedWindow ("缩放前", CV_WINDOW_AUTOSIZE);
// 将图像装载进窗口并显示此窗口
cvShowImage ("缩放前", img);
// 定制一个新的图像内存块,以存放缩放结果。
IplImage * out = cvCreateImage (
cvSize (img->width/2, img->height/2), // 大小为原图的一半
img->depth, // 深度相同
img->nChannels // 通道数相同
);
// 该函数实现对图像的缩放功能
cvPyrDown (
img, // 原图像
out // 缩放后的图像( 一定要先创建好了才进入函数 )
);
// 创建一个窗口显示缩放后的图像
cvNamedWindow ("缩放后", CV_WINDOW_AUTOSIZE);
// 将图像装载进窗口并显示此窗口
cvShowImage ("缩放后", out);
// 该函数的参数为 0 时,程序将等待用户触发一个按键操作。
// 若参数为正整数,则程序将暂停该整数个毫秒单位直至用户有任何按键。
cvWaitKey (0);
// 释放图像内存块
cvReleaseImage (&img);
cvReleaseImage (&out);
// 关闭窗口同时释放窗口内存块
cvDestroyWindow ("缩放前");
cvDestroyWindow ("缩放后");
return 0;
}
运行结果: