3.使用cvPyrDown()缩放图像(一个复杂一点的变换)

转发自: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;
}


运行结果:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值