python pil图像处理,PIL处理图片大小

  python pil图像处理,PIL处理图片大小

  这篇文章主要介绍了PythonPIL图片如何按比例裁剪,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  

目录

PIL图片如何按比例裁剪问题描述解决方案太平航运调整图片大小介绍看代码吧

 

  

PIL图片如何按比例裁剪

 

  

问题描述

 

  如图片比例为1:1 裁剪为4:3

  1.jpg

  

解决方案

 

  从太平航运进口图片

  定义图像剪辑(文件名,文件名,宽度比例,高度比例):

  图像裁剪

  :参数文件名:原图路径

  :参数文件名:保存图片路径

  :参数宽度_比例:宽的比例

  :参数高度_比例:高的比例

  image=Image.open(文件名)

  (宽度,高度),(_宽度,_高度)=image.size,image.size

  _ height=width/width _ scale * height _ scale

  如果_高度高度:

  _高度=高度

  _ width=width _ scale * height/height _ scale

  image.crop((0,0,_width,_height)).保存(保存名称)#左上角

  # image.crop((0,height - _height,_width,height)).保存(保存名称)#左下角

  # image.crop((width - _width,0,width,_height)).保存(保存名称)#右上角

  # image.crop((width - _width,height - _height,width,height))。保存(保存名称)#右下角

  if __name__==__main__:

  filename=1.jpg

  savename=result.jpg

  图像_剪辑(文件名,文件名,宽度比例=4,高度比例=3)

  # image_clip(文件名,文件名,宽度比例=3,高度比例=4)

  效果

  

PIL调整图片大小

 

  使用太平航运在图片比例不变的情况下修改图片大小。

  

介绍

 

  图像。调整大小

  def resize(self,size,resample=BICUBIC,box=None,reducing_gap=None):

  返回此图像的调整后的副本。

  返回此图像的大小调整后的副本。

  :参数尺寸:以像素为单位的请求大小,为2倍:

  (宽度、高度)。

  参数大小:请求的大小(以像素为单位),是一个二元数组:(宽度,高度)

  :参数重采样:可选的重采样过滤器。这可以是

  : py : attr : ` pil。形象。最近的之一, py : attr : ` pil。形象。方框之一,

  : py : attr : ` pil。形象。双线性`, py : attr : ` pil。形象。海明`,

  : py : attr : ` pil。形象。双三次的或: py : attr : ` pil。形象。lanc zos `

  默认滤镜是: py : attr : ` pil。形象。双三次的`

  如果图像模式为"1"或“P”,则为

  始终设置为: py : attr : ` pil。形象。最近的.

  参见:ref:概念-过滤器"。

  参数重采样:一个可选的重采样过滤器。

  :参数箱:一个可选的四元组浮点数,提供

  要缩放的源图像区域。

  这些值必须在(0,0,宽度,高度)矩形内。

  如果省略或无,则使用整个源。

  参数箱:可选的四元浮点数,提供要缩放的源映像区域。

  :参数减小_间隙:通过调整图像大小应用优化

  分两步走。首先,将图像缩小整数倍

  使用: py :冰毒: `~ pil。形象。形象。减少`

  第二,使用常规重采样调整大小。最后一步

  将大小更改不少于"减少_间隙"倍。

  "减小间隙"可以是无(不执行第一步)

  或者应该大于1.0。"缩小差距"越大,

  结果越接近公平重采样。

  "减小间隙"越小,调整大小越快。

  当"减小间隙"大于或等于3.0时,结果为

  在大多数情况下与公平重采样难以区分。

  默认值为无(无优化)。

  参数减少_间隙:通过两个步骤调整图像大小来应用优化。

  :返回: An : py : class : ` ~ PIL .图像。图像`对象。

  返回:返回一个PIL .图像图像对象

  

看代码吧

 

  从太平航运进口图片

  Image=Image.open(图像路径)

  #调整图片大小并保持比例不变。

  #给定基本宽度

  base _宽度=50

  #基本宽度与原始宽度的比率

  w _ percent=base _ width/float(image . size[0])

  #在比例不变的情况下计算新图形的长度

  h _ size=int(float(image . size[1])* float(w _ percent))

  #重设尺寸

  #默认情况下,PIL会使用该图像调整大小。最接近的过滤器,从而获得良好的性能,但质量差。

  image=image.resize((base_width,h_size),image。抗锯齿)

  以上个人经验,希望给你一个参考,也希望你能支持盛行的IT软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: