函数介绍:
    1.cvResize 改变图像大小

    void cvResize(const CvArr *src, CvArr *dst, int interpolation)
    函数说明:
    第一个参数表示输入图像。
    第二个参数表示输出图像。
    第三个参数表示插值方法,可以有以下四种:

    CV_INTER_NN - 最近邻插值,
    CV_INTER_LINEAR - 双线性插值 (缺省使用)
    CV_INTER_AREA - 使用象素关系重采样。当图像缩小时候,该方法可以避免波纹出现。当图像放大时,类似于     CV_INTER_NN 方法..
    CV_INTER_CUBIC - 立方插值.

    2.cvCreateImage(CvSize size, int depth, int channels)

    函数说明:
    第一个参数表示图像的大小。
    第二个参数表示图像的深度,可以为IPL_DEPTH_8U,IPL_DEPTH_16U等等。
    第三个参数表示图像的通道数。

  1. #include "stdafx.h"
  2. #include "iostream"
  3. using namespace std;
  4. #include "opencv2/opencv.hpp"
  5.  
  6. int main()
  7. {
  8. const char *pImagePath = "E:/C_VC_code/Text_Photo/girl001.jpg";
  9. const char *pWindowsTitle = "MyFirst OpenCV";
  10.  
  11. //load image from file
  12. IplImage *pImage = cvLoadImage(pImagePath,CV_LOAD_IMAGE_UNCHANGED);
  13.  
  14. //create window
  15. cvNamedWindow(pWindowsTitle,CV_WINDOW_AUTOSIZE);
  16.  
  17. //show image on window
  18. cvShowImage(pWindowsTitle,pImage);
  19. //------------------------以上创建显示原图--------------------------------
  20.  
  21. const char *pDstImageTitle = "Auto Image";
  22. double fScale = 0.5; //the mul of 缩放
  23. CvSize cvSize; //the size of changed image
  24.  
  25. IplImage *pDstImage = NULL;
  26.  
  27. //count the size of destination image
  28. cvSize.width = pImage->width*fScale;
  29. cvSize.height = pImage->height*fScale;
  30.  
  31. //create image and auto
  32. pDstImage = cvCreateImage(cvSize, pImage->depth, pImage->nChannels);
  33. cvResize(pImage, pDstImage ,CV_INTER_AREA);
  34.  
  35. //create window and show image
  36. cvNamedWindow(pDstImageTitle,CV_WINDOW_AUTOSIZE);
  37. cvShowImage(pDstImageTitle,pDstImage);
  38.  
  39. //------------------------以上缩放并显示缩放图片--------------------------
  40.  
  41. //wait key event
  42. cvWaitKey();
  43.  
  44. //destroy window and release space
  45. cvDestroyWindow(pWindowsTitle);
  46. cvReleaseImage(&pImage);
  47. return ;
  48. }

结果展示:

OpenCV图像的缩放的更多相关文章

  1. OpenCV图像金字塔:高斯金字塔、拉普拉斯金字塔与图片尺寸缩放

    这篇已经写得很好,真心给作者点个赞.题目都是直接转过来的,直接去看吧. Reference Link : http://blog.csdn.net/poem_qianmo/article/detail ...

  2. 【OpenCV新手教程之十三】OpenCV图像金字塔:高斯金字塔、拉普拉斯金字塔与图片尺寸缩放

    本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/26157633 作者:毛星云(浅墨) ...

  3. 学习 opencv---(12)OpenCV 图像金字塔:高斯金字塔,拉普拉斯金字塔与图片尺寸缩放

    在这篇文章里,我们一起学习下 图像金字塔 的一些基本概念,如何使用OpenCV函数pyrUp和pyrDown 对图像进行向上和向下采样,以及了解专门用于缩放图像尺寸的resize函数的用法.此博文一共 ...

  4. 使用OpenCV对图像进行缩放

    OpenCV:图片缩放和图像金字塔 对图像进行缩放的最简单方法当然是调用resize函数啦! resize函数可以将源图像精确地转化为指定尺寸的目标图像. 要缩小图像,一般推荐使用CV_INETR_A ...

  5. opencv:图像的基本变换

    0.概述 图像变换的基本原理都是找到原图和目标图的像素位置的映射关系,这个可以用坐标系来思考,在opencv中, 图像的坐标系是从左上角开始(0,0),向右是x增加方向(cols),向下时y增加方向( ...

  6. [OpenCV Qt教程] 在Qt图形界面中显示OpenCV图像的OpenGL Widget (第一部分)

    本文译自:http://www.robot-home.it/blog/en/software/tutorial-opencv-qt-opengl-widget-per-visualizzare-imm ...

  7. opencv图像的基本操作3

    1.获取像素并修改 读取一副图像,根据像素的行和列的坐标获取它的像素值,对于RGB图像而言,返回RGB的值,对于灰度图则返回灰度值 import cv2 import numpy img = cv2. ...

  8. <学习opencv>图像和大型阵列类型

    OPenCV /*=========================================================================*/ // 图像和大型阵列类型 /* ...

  9. 我心中的核心组件~HttpHandler和HttpModule实现图像的缩放与Url的重写

    回到目录 说在前 对于资源列表页来说,我们经常会把图像做成N多种,大图,小图,中图等等,很是麻烦,在数据迁移时,更是一种痛快,而如果你把图像资源部署到nginx上,那么这种图像缩放就变得很容易了,因为 ...

随机推荐

  1. 爬虫3 html解析器 html_parser.py

    #coding:utf8 import urlparse from bs4 import BeautifulSoup import re __author__ = 'wang' class HtmlP ...

  2. tomcat的下载安装和配置以及和eclipse的配置

    一.Tomcat的下载安装环境变量配置 下载Tomcat 可以安装Tomcat了.下载好压缩包后,直接解压至某一目录下,目录中不能包含中文,上面安装JDK的时候也是.解压后如下所示: 将此文件夹拷贝到 ...

  3. Python capitalize()方法

    Python capitalize()方法 capitalize()方法返回字符串的一个副本,只有它的第一个字母大写.对于8位的字符串,这个方法与语言环境相关. 语法 以下是capitalize()方 ...

  4. debian vmwareTools安装总结

    1.安装GCC编译器和make:      因为安装VMwareTools需要编译和make所以要先安装它们.安装其实很简单,命令如下: apt-get install gcc make 其实你也可以 ...

  5. draw9的使用说明

    转载来自:http://isux.tencent.com/android-ui-9-png.html 在Android的设计过程中,为了适配不同的手机分辨率,图片大多需要拉伸或者压缩,这样就出现了可以 ...

  6. 正则表达式分组()、不捕获(?:)和断言(?<=)详解

    分组 分组在正则中用()表示,根据小菜理解,分组的作用有两个: 1.将某些规律看成是一组,然后进行组级别的重复,可以得到意想不到的效果. 2.分组之后,可以通过后向引用简化表达式(\1 或者$1). ...

  7. Centos安装Kafka集群

    kafka是LinkedIn开发并开源的一个分布式MQ系统,现在是Apache的一个孵化项目.在它的主页描述kafka为一个高吞吐量的分布式(能 将消息分散到不同的节点上)MQ.在这片博文中,作者简单 ...

  8. 深入理解Spring Redis的使用 (一)、Spring Redis基本使用

    关于spring redis框架的使用,网上的例子很多很多.但是在自己最近一段时间的使用中,发现这些教程都是入门教程,包括很多的使用方法,与spring redis丰富的api大相径庭,真是浪费了这么 ...

  9. thinkphp- 许愿墙-1

    控制器的方法, 要显示的模板默认的跟方法名相同. 也可以不同, 但应该 仍然是对应文件夹下的html模板文件: $this->display('其他的模板html文件名, 不用加html扩展名' ...

  10. 来自 Google 的 R 语言编码风格指南

    来自 Google 的 R 语言编码风格指南R 语言是一门主要用于统计计算和绘图的高级编程语言. 这份 R 语言编码风格指南旨在让我们的 R 代码更容易阅读.分享和检查. 以下规则系与 Google ...