图像基础9 插值与缩放
来源:互联网 发布:农村淘宝地址怎么改 编辑:程序博客网 时间:2024/05/18 05:44
学习资源:《机器学习实践指南 案例应用解析 第2版》
resize函数
通过OpenCV的resize函数可实现插值与缩放。
void resize(InputArray src, OutputArray dst, Size dsize, double fx=0, double fy=0, int interpolation=INTER_LINEAR );
参数说明:
- src 输入,原图像
- dst 输出,目标图像
- dsize 输出图像的大小,如果这个参数不为0,表示把原图像缩放到Size(width, height)指定的大小;如果为0 , 原图像缩放之后的大小要通过下面公式计算:
dsize = Size(round(fx*src.cols),round(fy*src.rows))
- fx width方向的缩放比例,如果为0,就是按照(double)dsize.width/src.cols来计算
- fy height方向的缩放比例,如果为0,会按(double)dsize.height/src.rows来计算
- interpolation 插值的方式,有:
- INTERNEAREST 最邻近插值
- INTER_LINEAR 双线性插值
- INTER_AREA 像素关系重采样
- INTER_CUBIC 4*4像素领域内的双立方插值
- INTER_LANCZOS4 8*8像素邻域内的Lanczos插值
使用注意事项
- dsize和fx/fy不能同时为0
- 正常情况使用默认的双线性插值就够用了
- 插值效率:最邻近插值>双线性插值>双立方插值>Lanczos插值,效率与效果成反比
-
示例代码
# -*- coding: utf-8 -*-#10-16.pyimport cv2fn="test.jpg"img = cv2.imread(fn)w= img.shape[1]h= img.shape[0]# 双立方插值放大newimg1 = cv2.resize(img, (w*2,h*2),interpolation = cv2.INTER_CUBIC)# 缩小 像素关系重采样newimg2 = cv2.resize(img,(300,200),interpolation=cv2.INTER_AREA)cv2.imshow('source',img)cv2.imshow('preview1',newimg1)cv2.imshow('preview2',newimg2)cv2.waitKey()cv2.destroyAllWindows()
运行示例:
原图:
放大
缩小
参考:
http://www.cnblogs.com/korbin/p/5612427.html
阅读全文
0 0
- 图像基础9 插值与缩放
- 图像缩放插值算法
- 图像缩放之最近邻插值
- 图像缩放—最近邻插值
- 图像缩放之最近邻插值
- 图像缩放--最近邻插值
- 图像缩放双立方插值
- 图像几何变换(缩放、旋转)中的插值算法
- 图像几何变换(缩放、旋转)中的插值算法
- 缩放时使用插值模式控制图像质量
- 使用双线插值算法缩放位图图像
- 图像几何变换(缩放、旋转)中的插值算法
- 图像几何变换(缩放、旋转)中的插值算法
- 图像平移、缩放、旋转、插值 Matlab实现
- OpenGL图像缩放的不同插值类型
- 【图像缩放】双立方(三次)卷积插值
- 图像处理学习笔记之图像的几何变换(5)图像缩放和插值算法
- 图像缩放-线性插式- 1. 算法
- 详解linux之NFS文件共享服务
- 二分图复习笔记
- Moving Tables
- 看书的收获
- eclipse常用快捷键
- 图像基础9 插值与缩放
- 什么是机器学习
- 目标跟踪算法2017
- Ant的安装与配置
- 伴生类和伴生对象
- APP挣钱之道-----集成有米广告(Android Studio)
- TCP连接与断开
- 浏览器缓存相关的字段
- 进程和线程关系