UIImage *img1 = [UIImage imageNamed:@"1448941176867"];

//将UIImage转换为IplImage格式

IplImage *pimage = [self convertToIplImage:img1];

//缩放图片

//比例值

float fScale = 0.4;

CvSize cvsize;

cvsize.width = pimage->width * fScale;

cvsize.height = pimage ->height * fScale;

//创建输出图像

IplImage *outImage = cvCreateImage(cvsize, pimage->depth, pimage->nChannels);

//缩放图像

cvResize(pimage, outImage);

//将IplImage图像转换为UIImage

UIImage *img = [self convertToUIImage:outImage];

self.imgView.image = img;

//释放图片内存

cvReleaseImage(&pimage);

cvReleaseImage(&outImage);

上边代码是用IplImage来实现的图片缩放,可以手动管理图片内存的释放。

下边这段代码是用Mat来实现的图片缩放

    cv::Mat matImage = [self cvMatFromUIImage:img1];

    float fScale = 0.1;
cv::Mat outImage;
cv::resize(matImage, outImage, cvSize(matImage.cols * fScale, matImage.rows * fScale)); UIImage *img2 = [self UIImageFromCVMat:outImage];
self.imgView.image = img2;

cv::resize方法可以用来调用图片的size。

获取Mat格式的图片宽高可以用matImage.cols和matImage.rows来获取。分别表示像素矩阵的列和行,列数相当于宽,行数相当于高。

关于UIImage和IplImage的相互转换,参考我的另一个随笔

http://www.cnblogs.com/iOSDeng/p/5081588.html

openCV(三)---图像缩放的更多相关文章

  1. OpenCV 金字塔图像缩放

    // image_pyramid.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <string> #incl ...

  2. python+opencv实现图像缩放

    x, y = img_.shape[0:2] img_ = cv2.resize(img_, (int(y/2), int(x/2))) 实现图像长宽缩小为原来的一半

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

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

  4. OpenCV计算机视觉学习(11)——图像空间几何变换(图像缩放,图像旋转,图像翻转,图像平移,仿射变换,镜像变换)

    如果需要处理的原图及代码,请移步小编的GitHub地址 传送门:请点击我 如果点击有误:https://github.com/LeBron-Jian/ComputerVisionPractice 图像 ...

  5. Java基于opencv实现图像数字识别(三)—灰度化和二值化

    Java基于opencv实现图像数字识别(三)-灰度化和二值化 一.灰度化 灰度化:在RGB模型中,如果R=G=B时,则彩色表示灰度颜色,其中R=G=B的值叫灰度值:因此,灰度图像每个像素点只需一个字 ...

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

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

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

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

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

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

  9. C#使用OpenCV剪切图像中的圆形和矩形

    前言 本文主要介绍如何使用OpenCV剪切图像中的圆形和矩形. 准备工作 首先创建一个Wpf项目--WpfOpenCV,这里版本使用Framework4.7.2. 然后使用Nuget搜索[Emgu.C ...

  10. OpenCV(三) 之 基本数据结构 CvMat和 IplImage

    OpenCV(三) 之 基本数据结构 CvMat和 IplImage CvMat IplImage OpenCv中基本的数据类型 类型 参数 表示 CvPoint int x,y 像素点 CvPoin ...

随机推荐

  1. Cells(Rows.Count, 1).End(xlUp).Row的含义

     NextRow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1     这句话的意思是 取活动单元表的第一列最后一个有值的行的下一行行号. ...

  2. Chapter 2 Open Book——30

    I looked down. His hands were clenched into hard fists again. 我向下看,他的双手又一次收紧握成拳头. Mr. Banner came to ...

  3. PAT 团体程序设计天梯赛-练习集L1-011. A-B

    本题要求你计算A-B.不过麻烦的是,A和B都是字符串 —— 即从字符串A中把字符串B所包含的字符全删掉,剩下的字符组成的就是字符串A-B. 输入格式: 输入在2行中先后给出字符串A和B.两字符串的长度 ...

  4. 更改自身web项目的图标(默认为tomcat的小喵咪)

    在页面<head>标签中加入 <link rel="shortcut icon" href="img/11.png" type="i ...

  5. 图的连通性:有向图强连通分量-Tarjan算法

    参考资料:http://blog.csdn.net/lezg_bkbj/article/details/11538359 上面的资料,把强连通讲的很好很清楚,值得学习. 在一个有向图G中,若两顶点间至 ...

  6. Django中的Form表单

    Django中已经定义好了form类,可以很容易的使用Django生成一个表单. 一.利用Django生成一个表单: 1.在应用下创建一个forms文件,用于存放form表单.然后在forms中实例华 ...

  7. 直接粘贴代码到网络上:command-line pastebins

    软件作用 直接把管道里面的文字内容传到网站上面,然后反馈一个地址可以读取内容. 同类软件 wgetpaste dpaste pastebin pasteie 用法 介绍wgetpaste为例: GEN ...

  8. chapter 12_2 保存无环的table

    保存table有几种方法,选用哪种方法取决于对table的结构作出了哪些限制性的假设 第一个方法: function serialize(o) if type(o) == "number&q ...

  9. Python 跳出多重循环

    Python 本身没有“break n” 和“goto” 的语法,这也造成了Python 难以跳出多层(特定层数)循环.下面是几个跳出多层(特定层数)循环的tip. 1.自定义异常   class g ...

  10. There was a problem parsing the package(android)

    android phone when you install the application there will inevitably be "a problem parsing the ...