python 等比例缩小图片,python图像放大
说明
1.初始化目标尺寸的窗帘。所有值都相同。
2.计算缩放比例。
将原始图像的长边缩放至目标尺寸。
3.让短边也按照这个比例放大缩小,得到的画面不会失真。
4.缩放后的图像必须小于或等于目标尺寸。
所以一定要能够粘贴在窗帘的中央,这样窗帘未覆盖的部分就会自动变成空白,省去了填充的步骤。
5.获得想要的图片。
实例
importnumpyasnp
fromPILimportImage
defresize(img,size):
#先创建一个目标大小的幕布,然后把放大的图片粘贴在中间,省去了两边填空的麻烦。
canvas=Image.new(RGB ,size=size,color=#7777 )
目标宽度,目标高度=尺寸
宽度,高度=img.size
offset_x=0
offset_y=0
如果highwidth3360 # Height是长边
Height_=target_height#直接将高度调整到目标尺寸。
Scale=height_/height#计算高度具体调整多少,得到一个缩放比例。
Width_=int(width*scale)# Width以相同的比例缩放。
offset _ X=(target _ width-width _)//2 #计算单边空白在X方向的距离
Else:#同上
宽度_=目标宽度
比例=宽度_/宽度
height_=int(高度*小数位数)
offset _ y=(target _ height-height _)//2
Img=img.resize ((width _,height _),image .双线性)#缩放高度和宽度。
Canvas.paste (img,box=(offset _ x,offset _ y)) #将缩放后的图片粘贴到窗帘上。
#box参数用于确定要粘贴的图片左上角的位置。Offset_x是X轴的单侧边距,offset_y是Y轴的单侧边距,保证画面可以填充到幕布的中央。
return画布
img=Image.open(1.jpg )
Target__size=(500,300)#目标尺寸:宽500,高300
res=resize(img,target__size)
Res.save(new.jpg )以上是python实现图像比例缩放的方法。希望对你有帮助。更多python学习方向:Python基础课程
本教程运行环境:windows7系统,Python 3.9.1,DELL G3电脑。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。