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 ...
随机推荐
- ZOJ 2710 Two Pipelines
计算几何+贪心 #include<cstdio> #include<cstring> #include<cmath> #include<algorithm&g ...
- Matches Puzzle Game
Matches Puzzle Game 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5456 数位DP 首先我把C-A=B改为A+B=C(我觉得会简单 ...
- linux搭建phantomjs+webdriver+testng+ant自动化工程
因为项目的原因,需要将脚本在linux环境无浏览器化去跑,那么原有的在windows系统下有浏览器化的自动化脚本场景就不适用了,这里给出linux系统下搭建phantomjs+webdriver+te ...
- 2016WHD.china世界云计算日·北京站即将召开
WHD.china自进驻中国以来,已在上海.北京成功举办多届,2015年于北京举办的会议更是盛况空前,注册参会者逾800人次,汇聚了国内外众多知名云服务商.IDC商.电子商务企业.电信运营商.ISP等 ...
- mysql创建用户、授权[转]
一, 创建用户: 命令:CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 说明:username - 你将创建的用户名, host - 指 ...
- 【LeetCode】3. Longest Substring Without Repeating Characters
Given a string, find the length of the longest substring without repeating characters. Examples: Giv ...
- ggplot2 theme相关设置—线条设置
在ggplot的主题射中有一部分图需要对图中的部分线条进行设置 element_line(colour = NULL, size = NULL, linetype = NULL, lineend = ...
- Markdown 基础
How to use Markdown H1 text. H2 text. H3 text. H4 text. H5 text. H6 text. Text This is italic text. ...
- Activity的四中启动模式的应用场景。
1,standard 默认情况下的启动模式,队列排序,linked 2,singleTop ,任务栈栈顶只有一个实例.如果Activity A在栈顶,就不会在A 的上面创建新的 Activity A ...
- UISlider 滑竿控件
UISlider *slider = [[UISlider alloc] initWithFrame:CGRectMake:(100, 100, 200, 25); //创建一个滑竿对象 slide ...