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. 《细说PHP》的php语言结构

    6.1流程控制 顺序结构 语句按照出现的先后次序自上而下依次执行 分支结构 先做判断再做选择 6.3.4 特殊的流程控制语句 break语句结束当前for.foreach.while.do-while ...

  2. Chapter 2 Open Book——31

    "It's too bad about the snow, isn't it?" Edward asked. I had the feeling that he was forci ...

  3. 《html表格》

    1.html表格 w3c School:http://www.jb51.net/w3school/html/html_tables.htm 2.<colgroup></colgrou ...

  4. input编辑框编辑状态切换

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  5. sqlplus登录Oracle时ORA-01017: invalid username/password; logon denied的错误

    今天用scott用户登录Oracle数 据库时,竟然出现了ORA-01017: invalid username/password; logon denied错误,原以为是因为我的scott用户没有解 ...

  6. vconfig

    创建虚拟的vlan设备 例如: vconfig  add eth0  10 就创建了一个eth0.10的设备 vconfig的使用说明如下: root@hbg:/# vconfigBusyBox v1 ...

  7. Worker+MQ解惑

    用Worker来保证数据的一致性,再加上MQ来便于水平扩展,也提升了Worker的效率.这就是传说中的Worker+MQ,又叫做可靠消息方式.另外,将任务的查询和执行分工,形成父子任务,达到真正的分布 ...

  8. Gentoo安装详解(二)-- 编译内核

    编译内核: 安装内核源码: 选择内核:如gentoo-sources emerge gentoo-sources ls -l /usr/src/linux 手动编译内核: cd /usr/src/li ...

  9. offset()值不准问题

    本来应该只需获取含图片的div的offset(),然后将标签div的坐标设置好即可,但是不知为何越靠后的div的offset().top越不正常,跟标准值偏离的越来越大. 即使你在$(document ...

  10. KVM 虚拟化基本搭建

    KVM虚拟化技术 KVM是基于x86架构上Linux操作系统的全虚拟化解决方案 ,在Centos6.3系统中,kvm已经被集成到内核中,相当于使用内核来做虚拟机管理程序.由于KVM本身就工作于内核环境 ...