首页IT科技python图像对比处理(python如何实现图像等比缩放)

python图像对比处理(python如何实现图像等比缩放)

时间2025-06-15 03:48:17分类IT科技浏览4549
导读:说明...

说明

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

2                  、计算出放缩比例                  。

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

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

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

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

5                  、得到想要的图片         。

实例

importnumpyasnp fromPILimportImage defresize(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 ifheight>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轴单侧留白            ,这样就能保证能将图片填充在幕布的中央 returncanvas img=Image.open(1.jpg) target__size=(500,300)#目标尺寸:宽为500   ,高为300 res=resize(img,target__size) res.save(new.jpg)

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

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
el-input不能输入中文(el-input无法输入的问题和表单验证失败问题) linux无法访问目标主机(Linux系统下无法访问mysql解决方法)