python怎么实现图像等比缩放
发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,小编给大家分享一下python怎么实现图像等比缩放,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!说明1、初始化目标尺寸的幕
千家信息网最后更新 2024年11月11日python怎么实现图像等比缩放
小编给大家分享一下python怎么实现图像等比缩放,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
说明
1、初始化目标尺寸的幕布,所有值都是一样的。
2、把原图中较长的边放缩到目标尺寸大小,计算出放缩比例。
3、使短边也能按此比例放缩,得到的图片就不会变形。
4、缩放后的图像必须小于等于目标尺寸。
因此必须能够粘贴在幕布的中心,这样幕布中没有被覆盖的地方就会自动变成留白,省去了填充步骤。
5、得到想要的图片。
实例
import numpy as npfrom PIL import Image def resize(img, size): # 先创建一个目标大小的幕布,然后将放缩好的图片贴到中央,这样就省去了两边填充留白的麻烦。 canvas = Image.new("RGB", size=size, color="#7777") target_width, target_height = size width, height = img.size offset_x = 0 offset_y = 0 if height > width: # 高 是 长边 height_ = target_height # 直接将高调整为目标尺寸 scale = height_ / height # 计算高具体调整了多少,得出一个放缩比例 width_ = int(width * scale) # 宽以相同的比例放缩 offset_x = (target_width - width_) // 2 # 计算x方向单侧留白的距离 else: # 同上 width_ = target_width scale = width_ / width height_ = int(height * scale) offset_y = (target_height - height_) // 2 img = img.resize((width_, height_), Image.BILINEAR) # 将高和宽放缩 canvas.paste(img, box=(offset_x, offset_y)) # 将放缩后的图片粘贴到幕布上 # box参数用来确定要粘贴的图片左上角的位置。offset_x是x轴单侧留白,offset_y是y轴单侧留白,这样就能保证能将图片填充在幕布的中央 return canvas img= Image.open('1.jpg') target__size=(500,300) # 目标尺寸:宽为500,高为300res = resize(img,target__size) res.save('new.jpg')
以上是"python怎么实现图像等比缩放"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
图片
幕布
目标
尺寸
比例
图像
单侧
篇文章
中央
内容
大小
相同
不怎么
位置
原图
参数
地方
大部分
实例
左上角
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
宿豫区多功能网络技术参考价格
对危害网络安全的行为向什么部门
网络服务器配置与管理人民邮电
战地4中国服务器
深圳五金备件管理软件开发
测试占据整个软件开发周期
环保与网络安全
营销软件开发厂家
主流服务器品牌
网络安全文档 FDA
四核八线程够软件开发么
怎么取消网络安全密码
网络安全入门演讲
软件开发信息检测
安卓软件开发转苹果
江苏省南京市的服务器地址
万方数据库突然打不开了
nova8鸿蒙升级服务器过载
上位机界面用什么软件开发
安卓软件开发知乎
哪个网站找软件开发工作
江苏连云港网络安全公司
梦幻西游现有多少个服务器
网络安全我参与绘画
自己做代理服务器
嵌入式软件开发测试流程
汕尾通讯软件开发平均价格
手机网页数据库查询
上位机界面用什么软件开发
网络安全知识挑战赛