双线性内插怎么缩小_图像的放大与缩小(2)——双线性插值放大与均值缩小
概述
基于上一节“等距采样法”实现图片放大与缩小的缺点。要对其进行改进,对图像的缩小则可以用“局部均值法”,对于图像的放大则可以用“双线性插值法”。
效果如下:
2048*1536缩小为100*80时的效果
100*80放大到600*400的效果
局部均值法缩小图像
(1)计算采样间隔
设原图的大小为W*H,将其放大(缩小)为(k1*W)*(K2*H),则采样区间为
ii=1/k1; jj=1/k2;
当k1==k2时为等比例缩小;当k1!=k2时为不等比例放大(缩小);当k1<1&&k2<1时为图片放大,k1<1&&k2>1时时图片缩小
(2)求出局部子块
设原图为F(x,y)(i=1,2,……W; j=1,2,……H),缩小的图像为G(x,y)(i=1,2, ……M; j=1,2,……N,其中M=W*k1,N=H*k2),则有原图像局部子块为
f’(x,y)= f(ii*i, jj*j) …… f(ii*i + ii-1, jj*j)
…… ……
f(ii*i, jj*j+jj-1) …… f(ii*i + ii-1, jj*j+jj-1)
(3)求出缩小的图像
G(x, y) = f’(x,y)的均值
例:
缩小后的图像
例如g11=(f11 +f12 + f21 + f22)/4
算法源代码(java)
/**
* 局部均值的图像缩小
* @param img 要缩小的图像对象
* @param m 缩小后图像的宽
* @param n 缩小后图像的高
* @return 返回处理后的图像对象
*/
public static BufferedImage shrink(BufferedImage img, int m, int n) {
float k1 = (float)m/img.getWidth();
float k2 = (float)n/img.getHeight();
return shrink(img, k1, k2);
}
/**
* 局部均值的图像缩小
* @param img 要缩小的图像对象
* @param k1 要缩小的列比列
* @param k2 要缩小的行比列
* @return 返回处理后的图像对象
*/
public static BufferedImage shrink(BufferedImage img, float k1, float k2) {
if(k1 >1 || k2>1) {//如果k1 >1 || k2>1则是图片放大,不是缩小
System.err.println("this is shrink image funcation, please set k1<=1 and k2<=1!");
return null;
}
float ii = 1/k1;//采样的行间距
float jj = 1/k2; //采样的列间距
int dd = (int)(ii*jj);
//int m=0 , n=0;
int imgType = img.getType();
int w = img.getWidth();
int h = img.getHeight();
int m = (int) (k1*w);
int n = (int) (k2*h);
int[] pix = new int[w*h];
pix = img.getRGB(0, 0, w, h, pix, 0, w)
双线性内插怎么缩小_图像的放大与缩小(2)——双线性插值放大与均值缩小相关推荐
- android 图片放大缩小_贴在手机上的显微镜,轻松放大400倍,化身“蚁人”玩转微观世界...
记得在漫威电影<蚁人>里,男猪脚只要穿上那套黑科技制服,按下开关,"咻"的一声就缩到蚂蚁大小,并操控蚂蚁.昆虫和自己并肩作战!!简直不要太酷! 蚁人"进入微观 ...
- android 图片放大缩小_几款堪称神器的图片无损放大缩小工具!
Bigjpg Bigjpg是一款非常强大的能放大图片并使其不失真的工具. 一般来说,图片在经过PS或PhotoZoom放大之后,都会出现一定程度的损害和模糊,而Bigjpg可以让放大的图片无损. Bi ...
- 图像的放大与缩小(2)——双线性插值放大与均值缩小
2019独角兽企业重金招聘Python工程师标准>>> 概述 基于上一节"等距采样法"实现图片放大与缩小的缺点.要对其进行改进,对图像的缩小则可以用"局 ...
- 图像的放大与缩小——双线性插值放大与均值缩小
原文地址:http://blog.csdn.net/luoweifu/article/details/8069883 概述 基于上一节"等距采样法"实现图片放大与缩小的缺点.要对其 ...
- python运行界面如何缩小_如何使用Python调整图像大小
作者|Nicholas Ballard 编译|VK 来源|Towards Data Science 可以说,每一个"使用计算机的人"都需要在某个时间点调整图像的大小.MacOS的预 ...
- matplotlib 鼠标拖动坐标图像/鼠标滑轮放大缩小坐标图像
分享一下关于matplotlib 鼠标拖动坐标图像/鼠标滑轮放大缩小坐标图像的代码 先看效果: 1.鼠标左键拖动坐标图像 # 鼠标左键拖拽事件 self.lastx = 0 # 获取鼠标按下时的坐标X ...
- ppt矩形里面的图片怎么放大缩小_图形的放大与缩小(公开课 ppt课件).ppt
图形的放大与缩小(公开课 ppt课件) 图形的放大或缩小 填一填 (5)一个长方形长5厘米,宽2厘米,按4:1的比放大后现在的长是( )厘米,宽是( )厘米. (6)一个长方形原来长15厘米,宽10厘 ...
- 【图像处理opencv】_图像几何变换
目录 0 程序环境与所学函数 1 裁剪.放大.缩小 2 平移变换 3 错切变换 4 镜像变换 5 旋转变换 6 透视变换 7 最近邻插值.双线性插值 0 程序环境与所学函数 本章程序运行需要导入下面三 ...
- 基于mschart控件,绘制工控采集类曲线,可对图像进行缩放,拖动滚动条显示放大后的图像
基于mschart控件,绘制工控采集类曲线,可对图像进行缩放,拖动滚动条显示放大后的图像,并动态显示曲线上的数值点 在工控.采集.测试类项目中经常需要对采集接收回来的数据进行图像.曲线显示,本人在项目 ...
最新文章
- 查找(包括顺序查找和折半查找)
- 如何理解卷积神经网络中的1*1卷积
- 机器学习(MACHINE LEARNING)MATLAB灰色预测模型
- daily scrum 11.1
- 经信局推荐 | 网易智慧企业多产品入选《杭州市支持企业远程办公助力复工防疫产品和服务目录》!...
- 漫游飞行_除了防打扰,手机飞行模式还有这些作用
- 小心中中国移动“短号集群网”的招
- mysql查找jdbc驱动包_查找已安装的JDBC驱动程序
- 玩转数据可视化之R语言ggplot2:(九)网络图绘制
- 华东师范大学计算机考研有多难,「华东师范大学考研详解」报录比70:1的专业,热度高到“爆炸”!...
- EXCEL 自动求和
- Chrome 浏览器翻译停服!改Hosts也失效!还有这些解决方案
- 综合日语第一册第八课
- Vue-router:二级路由跳转另一条路由下的子级
- 以【?nid=】的形式进行页面的跳转
- 魔戒世界服务器维护,我的世界魔戒 The Lord of the Rings 服务器1.7.10
- 仓库物品领用吉度PDA出入库盘点扫码方案
- 快速找出QQ群成员中不在名单内的人
- Nature子刊:英属哥伦比亚大学揭示植物塑造根际微生物组新机制
- 课堂练习4-C语言多分支结构
热门文章
- Java在中国 (2005.08.18 来自:《程序员》杂志)
- 爬虫获取淘宝等电商历史价格,分析资源网站实现本地重建(仅供个人学习)
- 卷积神经网络 - 车辆识别
- uniapp小程序button按钮去掉黑色线条
- postgresql 分词_使用Postgresql进行中文分词
- java ear_Jar/War/Ear等包的作用与区别详解
- windows下的dos命令快速打开应用程序
- JAVA综合面试题 页面的抓取 解析 保存数据库和生成HTML的页面展示
- supesite模块学习必备知识收藏
- 解除网页不能复制粘贴的限制,百度文库通用