位置:- 正文

python如何实现图像等比缩放(python的图)

编辑:rootadmin

推荐整理分享python如何实现图像等比缩放(python的图),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python绘制图片,python 做图,python如何作图,python 做图,python 图,python 图,python如何作图,python如何作图,内容如对您有帮助,希望把文章链接给更多的朋友!

说明

1、初始化目标尺寸的幕布,所有值都是一样的。

python如何实现图像等比缩放(python的图)

2、计算出放缩比例。

把原图中较长的边放缩到目标尺寸大小.

3、使短边也能按此比例放缩,得到的图片就不会变形。

4、缩放后的图像必须小于等于目标尺寸。

因此必须能够粘贴在幕布的中心,这样幕布中没有被覆盖的地方就会自动变成留白,省去了填充步骤。

5、得到想要的图片。

实例

importnumpyasnpfromPILimportImagedefresize(img,size):#先创建一个目标大小的幕布,然后将放缩好的图片贴到中央,这样就省去了两边填充留白的麻烦。canvas=Image.new("RGB",size=size,color="#7777")target_width,target_height=sizewidth,height=img.sizeoffset_x=0offset_y=0ifheight>width:#高是长边height_=target_height#直接将高调整为目标尺寸scale=height_/height#计算高具体调整了多少,得出一个放缩比例width_=int(width*scale)#宽以相同的比例放缩offset_x=(target_width-width_)//2#计算x方向单侧留白的距离else:#同上width_=target_widthscale=width_/widthheight_=int(height*scale)offset_y=(target_height-height_)//2img=img.resize((width_,height_),Image.BILINEAR)#将高和宽放缩canvas.paste(img,box=(offset_x,offset_y))#将放缩后的图片粘贴到幕布上#box参数用来确定要粘贴的图片左上角的位置。offset_x是x轴单侧留白,offset_y是y轴单侧留白,这样就能保证能将图片填充在幕布的中央returncanvasimg=Image.open('1.jpg')target__size=(500,300)#目标尺寸:宽为500,高为300res=resize(img,target__size)res.save('new.jpg')

以上就是python实现图像等比缩放的方法,希望对大家有所帮助。更多Python学习指路:Python基础教程

本文链接地址:https://www.jiuchutong.com/zhishi/304517.html 转载请保留说明!
下一篇链接:https://www.jiuchutong.com/zhishi/304518.html
免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络