图像缩放

转载 2012年03月29日 18:20:54
#include <cv.h>
#include <highgui.h>
#include <math.h>

int main(int argc, char* argv[])
{
    IplImage *src = 0;			//源图像指针
    IplImage *dst = 0;			//目标图像指针
    float scale = 0.618;		//缩放倍数为0.618倍
    CvSize dst_cvsize;			//目标图像尺寸

    /* the first command line parameter must be image file name */
    if ( argc == 2 && (src = cvLoadImage(argv[1], -1))!=0 )
    {
        //如果命令行传递了需要打开的图片就无须退出,所以注释掉下面一行!
	//return -1;
    }
    else
    {
        src = cvLoadImage("tiger.jpg");    //载入工作目录下文件名为“tiger.jpg”的图片。
    }

    dst_cvsize.width = src->width * scale;		//目标图像的宽为源图象宽的scale倍
    dst_cvsize.height = src->height * scale;	//目标图像的高为源图象高的scale倍

    dst = cvCreateImage( dst_cvsize, src->depth, src->nChannels);	//构造目标图象
    cvResize(src, dst, CV_INTER_LINEAR);	//缩放源图像到目标图像

    cvNamedWindow( "src",   CV_WINDOW_AUTOSIZE );	//创建用于显示源图像的窗口
    cvNamedWindow( "dst",   CV_WINDOW_AUTOSIZE );	//创建用于显示目标图像的窗口

    cvShowImage( "src", src );		//显示源图像
    cvShowImage( "dst", dst );		//显示目标图像

    cvWaitKey(-1);		//等待用户响应

    cvReleaseImage(&src);	//释放源图像占用的内存
    cvReleaseImage(&dst);	//释放目标图像占用的内存
    cvDestroyWindow( "src" );	//销毁窗口“src”
    cvDestroyWindow( "dst" );	//销毁窗口“dst”
    //void cvDestroyAllWindows(void);

    return 0;
}

相关文章推荐

插值实现图像缩放

图像缩放算法

  • 2013-09-07 14:33
  • 16.29MB
  • 下载

C++图像缩放

转自:http://blog.csdn.net/welcome_xu/article/details/7251316 VC++中自带的图像缩放函数两个: 1、 BOOL Stretc...

图像缩放之双线性插值

双线性插值 双线性插值作为一种滤波器,广泛应用在信号处理,数字图像和视频处理等应用中。 中文名 双线性插值 外文名 Bilinear Interpolation 介绍 ...

图像缩放的双线性内插值算法的原理解析

转自:http://blog.csdn.net/qiqi5521/article/details/2207562 图像的缩放很好理解,就是图像的放大和缩小。传统的绘画工具中,有一种叫做“放大...

简单的图像缩放

  • 2008-08-02 10:56
  • 28KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)