图像缩放是一种比较简单的图像处理操作,这里给出opencv中的代码,

opencv的版本C语言接口

  1. int resize_c()
  2. {
  3. const char *pstrImageName = "lena.jpg";
  4. const char *pstrSaveImageName = "lena缩放图.jpg";
  5. const char *pstrWindowsSrcTitle = "原图";
  6. const char *pstrWindowsDstTitle = "缩放图 ";
  7.  
  8. double fScale = 0.8; //缩放倍数
  9. CvSize czSize; //目标图像尺寸
  10.  
  11. //从文件中读取图像
  12. IplImage *pSrcImage = cvLoadImage(pstrImageName, CV_LOAD_IMAGE_UNCHANGED);
  13. IplImage *pDstImage = NULL;
  14.  
  15. //计算目标图像大小
  16. czSize.width = pSrcImage->width * fScale;
  17. czSize.height = pSrcImage->height * fScale;
  18.  
  19. //创建图像并缩放
  20. pDstImage = cvCreateImage(czSize, pSrcImage->depth, pSrcImage->nChannels);
  21. cvResize(pSrcImage, pDstImage, CV_INTER_AREA);
  22.  
  23. //创建窗口
  24. cvNamedWindow(pstrWindowsSrcTitle, CV_WINDOW_AUTOSIZE);
  25. cvNamedWindow(pstrWindowsDstTitle, CV_WINDOW_AUTOSIZE);
  26.  
  27. //在指定窗口中显示图像
  28. cvShowImage(pstrWindowsSrcTitle, pSrcImage);
  29. cvShowImage(pstrWindowsDstTitle, pDstImage);
  30.  
  31. //等待按键事件
  32. cvWaitKey();
  33.  
  34. //保存图片
  35. cvSaveImage(pstrSaveImageName, pDstImage);
  36.  
  37. cvDestroyWindow(pstrWindowsSrcTitle);
  38. cvDestroyWindow(pstrWindowsDstTitle);
  39. cvReleaseImage(&pSrcImage);
  40. cvReleaseImage(&pDstImage);
  41. return ;
  42. }

C++版本

  1. int resize_cpp()
  2. {
  3. string pstrImageName = "lena.jpg";
  4. string pstrSaveImageName = "lena缩放图.jpg";
  5. string pstrWindowsSrcTitle = "原图";
  6. string pstrWindowsDstTitle = "缩放图 ";
  7.  
  8. double fScale = 0.8; //缩放倍数
  9. Size czSize; //目标图像尺寸
  10.  
  11. //从文件中读取图像
  12. Mat pSrcImage = imread(pstrImageName);
  13.  
  14. //计算目标图像大小
  15. czSize.width = pSrcImage.cols * fScale;
  16. czSize.height = pSrcImage.rows * fScale;
  17.  
  18. //创建图像并缩放
  19. Mat pDstImage = Mat(czSize, CV_8UC3);
  20. resize(pSrcImage, pDstImage, czSize,CV_INTER_AREA);
  21.  
  22. //创建窗口
  23. namedWindow(pstrWindowsSrcTitle, CV_WINDOW_AUTOSIZE);
  24. namedWindow(pstrWindowsDstTitle, CV_WINDOW_AUTOSIZE);
  25.  
  26. //在指定窗口中显示图像
  27. imshow(pstrWindowsSrcTitle, pSrcImage);
  28. imshow(pstrWindowsDstTitle, pDstImage);
  29.  
  30. //等待按键事件
  31. waitKey();
  32. return ;
  33. }

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

  1. opencv2 矩阵方式 resize图像缩放代码(转载)

    http://blog.sina.com.cn/s/blog_74a459380101r0yx.html opencv2 矩阵方式 resize图像缩放代码(转载) (2014-05-16 09:55 ...

  2. 【美工设计 - Adobe Illustrator】基本设置 (图像显示 | 图像缩放 | 置入导出 | 标尺 | 网格 | 参考线 | 画板)

    作者 : 韩曙亮 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/50232767 一. 基础操作 1. 设置图像显示效果 (1) ...

  3. 图像旋转与图像缩放及Matlab代码实现

    本周的作业是自己通过公式编写图像旋转与缩放的代码.今天先通过调用函数的方法来实现. 图像的旋转: A=imread('2.jpg'); J=imrotate(A, 30); subplot(1,2,1 ...

  4. opencv3 图像处理(一)图像缩放( python与c++ 实现)

    opencv3 图像处理 之 图像缩放( python与c++实现 ) 一. 主要函数介绍 1) 图像大小变换 Resize () 原型: void Resize(const CvArr* src,C ...

  5. 实现基于最近邻内插和双线性内插的图像缩放C++实现

    平时我们写图像处理的代码时,如果需要缩放图片,我们都是直接调用图像库的resize函数来完成图像的缩放.作为一个机器视觉或者图像处理算法的工作者,图像缩放代码的实现应该是必须掌握的.在众多图像缩放算法 ...

  6. 20 个具有惊艳效果的 jQuery 图像缩放插件

    jQuery相对与Flash的魔力已经贯穿整个网络.尽管,Flash层被认为是用于网页设计的首选,然而随着jQuery的出现,以及他的酷似Flash的交互式特效使得网页更加的优雅——Flash开始靠边 ...

  7. opencv学习笔记——图像缩放函数resize

    opencv提供了一种图像缩放函数 功能:实现对输入图像缩放到指定大小 函数原型: void cv::resize ( InputArray src, OutputArray dst, Size ds ...

  8. 邻近双线性插值图像缩放的Python实现

    最近在查找有关图像缩放之类的算法,因工作中需要用到诸如此类的图像处理算法就在网上了解了一下相关算法,以及其原理,并用Python实现,且亲自验证过,在次与大家分享. 声明:本文代码示例针对的是plan ...

  9. c#数字图像处理(十)图像缩放

    图像几何变换(缩放.旋转)中的常用的插值算法 在图像几何变换的过程中,常用的插值方法有最邻近插值(近邻取样法).双线性内插值和三次卷积法. 最邻近插值: 这是一种最为简单的插值方法,在图像中最小的单位 ...

随机推荐

  1. oracle 表字段添加 修改 删除语法

    修改列名 alter table 表明 rename column rename 老列名 to 新列名添加 字段alter table 表名 add(字段名 类型):删除字段alter table 表 ...

  2. java高新技术-java5的静态导入与编译器语法设置

    静态导入 import语句可以导入一个类或某个包中的所有类 import static 语句导入有一个类中的某个静态方法或所有静态方法 使用Math.random() 可以这样做 package co ...

  3. 【原】常用的javascript设计模式

    设计模式太多了,貌似有23种,其实我们在平时的工作中没有必要特意去用什么样的设计模式,或者你在不经意间就已经用了设计模式当中的一种.本文旨在总结平时相对来说用的比较多的设计模式. 什么是设计模式 百度 ...

  4. linux系统下sendmail的搭建

    学习鸟哥linux私房菜所得 sendmail 可以使用rpm -qa |grep sendmail来查看一下是否已安装sendmail-cf和sendmail 如果没有安装可用yum -y inst ...

  5. 挣值管理(PV、EV、AC、SV、CV、SPI、CPI) 记忆

    挣值管理法中的PV.EV.AC.SV.CV.SPI.CPI这些英文简写相信把大家都搞得晕头转向的.在挣值管理法中,需要记忆理解的有三个参数:PV.AC.EV.     PV:计划值,在即定时间点前计划 ...

  6. awk删除文件第一列

    awk删除文件第一列 1.采用awk awk '{$1="";print $0}' file 2.采用sed sed -e 's/[^]* //' file sort -R fil ...

  7. linux 安装 ArcSDE10.1

    实验仍未成功,步骤仅供参考. 1:首先检查一下在Linux操作系统下Oracle数据库是否能启动,是否能连通等 [oracle@localhost ~]$ sqlplus SQL*Plus: Rele ...

  8. 启动网卡报:Device eth0 does not seem to be present”解决办法

    Device eth0 does not seem to be present”解决办法 : 用ifconfig查看发现缺少eth0,只有lo:用ifconfig -a查看发现多出了eth1的信息. ...

  9. Python之路【第一篇】:Python简介和入门

    python简介: 一.什么是python Python(英国发音:/ pa θ n/ 美国发音:/ pa θɑ n/),是一种面向对象.直译式的计算机程序语言. 每一门语言都有自己的哲学: pyth ...

  10. <head>中<meta name="viewport" content="width=device-width,initical-scale=1"的作用>

    <meta name="viewport" content="width=device-width,initical-scale=1"的作用> co ...