openCV(三)---图像缩放
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(三)---图像缩放的更多相关文章
- OpenCV 金字塔图像缩放
// image_pyramid.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <string> #incl ...
- python+opencv实现图像缩放
x, y = img_.shape[0:2] img_ = cv2.resize(img_, (int(y/2), int(x/2))) 实现图像长宽缩小为原来的一半
- opencv学习笔记——图像缩放函数resize
opencv提供了一种图像缩放函数 功能:实现对输入图像缩放到指定大小 函数原型: void cv::resize ( InputArray src, OutputArray dst, Size ds ...
- OpenCV计算机视觉学习(11)——图像空间几何变换(图像缩放,图像旋转,图像翻转,图像平移,仿射变换,镜像变换)
如果需要处理的原图及代码,请移步小编的GitHub地址 传送门:请点击我 如果点击有误:https://github.com/LeBron-Jian/ComputerVisionPractice 图像 ...
- Java基于opencv实现图像数字识别(三)—灰度化和二值化
Java基于opencv实现图像数字识别(三)-灰度化和二值化 一.灰度化 灰度化:在RGB模型中,如果R=G=B时,则彩色表示灰度颜色,其中R=G=B的值叫灰度值:因此,灰度图像每个像素点只需一个字 ...
- 使用OpenCV对图像进行缩放
OpenCV:图片缩放和图像金字塔 对图像进行缩放的最简单方法当然是调用resize函数啦! resize函数可以将源图像精确地转化为指定尺寸的目标图像. 要缩小图像,一般推荐使用CV_INETR_A ...
- opencv2 矩阵方式 resize图像缩放代码(转载)
http://blog.sina.com.cn/s/blog_74a459380101r0yx.html opencv2 矩阵方式 resize图像缩放代码(转载) (2014-05-16 09:55 ...
- c#数字图像处理(十)图像缩放
图像几何变换(缩放.旋转)中的常用的插值算法 在图像几何变换的过程中,常用的插值方法有最邻近插值(近邻取样法).双线性内插值和三次卷积法. 最邻近插值: 这是一种最为简单的插值方法,在图像中最小的单位 ...
- C#使用OpenCV剪切图像中的圆形和矩形
前言 本文主要介绍如何使用OpenCV剪切图像中的圆形和矩形. 准备工作 首先创建一个Wpf项目--WpfOpenCV,这里版本使用Framework4.7.2. 然后使用Nuget搜索[Emgu.C ...
- OpenCV(三) 之 基本数据结构 CvMat和 IplImage
OpenCV(三) 之 基本数据结构 CvMat和 IplImage CvMat IplImage OpenCv中基本的数据类型 类型 参数 表示 CvPoint int x,y 像素点 CvPoin ...
随机推荐
- 理解Load Average做好压力测试
http://www.blogjava.net/cenwenchu/archive/2008/06/30/211712.html CPU时间片 为了提高程序执行效率,大家在很多应用中都采用了多线程模式 ...
- Mybatis 获取插入记录的自增长ID
1.在Mybatis Mapper文件中添加属性“useGeneratedKeys”和“keyProperty”,其中keyProperty是Java对象的属性名,而不是表格的字段名. <ins ...
- 1.rs.first()、rs.last()、rs.next()、rs.getRow()
rs.first()获取第一条数据的信息rs.last()获取最后一条数据的信息rs.next()获取下一条数据的信息rs.getRow()获取当前信息的行数 import java.sql.*; p ...
- php 原生能力进阶
<?php header("Content-type:text/html;charset=utf-8"); $arr=200; $result =($arr%2==0||$a ...
- python:os.path
__file__ " here = os.path.abspath(os.path.dirname(__file__)) 当"print os.path.dirname(__fil ...
- php基础(七)文件
PHP 文件处理 PHP 操作文件 当您操作文件时必须非常小心.如果您操作失误,可能会造成非常严重的破坏.常见的错误是: 编辑错误的文件 被垃圾数据填满硬盘 意外删除文件内容 PHP readfile ...
- Marble 绘制线
#include <QtGui/QApplication> #include <marble/MarbleWidget.h> #include <marble/GeoPa ...
- MySQL(2)-数据类型和Schema
一.数据类型 只介绍基本的数据类型. MySQL中选择合适的数据类型还是很有必要的,下面是一些通用原则: 小的就是好的 一般情况下,应该尽量使用可以正确存储数据的最小数据类型.更小的数据类型通常更快, ...
- Zeppelin添加mysql解释器
安装Apache zeppelin 1 wget http://apache.fayea.com/zeppelin/zeppelin-0.6.2/zeppelin-0.6.2-bin-all.tgz ...
- html5 让IE6,7支持HTML5语义化标签的文件
https://github.com/aFarkas/html5shiv/blob/master/src/html5shiv.js 只要应用这个js就行了