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

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

时间2025-07-30 09:24:02分类IT科技浏览4905
导读:说明...

说明

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
搜索引擎的网站的优化技巧主要有哪些?(掌握搜索引擎优化的精髓,助你网站腾飞) linux c面试总结(C++ Linux Web Server 面试基础篇-操作系统(四、线程通信))