使用 Python 调整图像大小
我喜欢 Python,而且我已经学了一段时间了。前段时间,我写了一个 Python 脚本,在这个脚本中,我需要调整一堆图片的大小,同时保持长宽比(比例)不变。于是我四处寻找,发现了 Pillow,这是一个 Python 图像库,也是一个叫做 PIL 的旧库的 友好复刻 。
要安装 Pillow,请使用 Python 的 pip 模块:
$ python3 -m pip install Pillow按宽度缩放
这是一个使用 Pillow 模块来调整图片大小的基本脚本:
from PIL import Image basewidth = 300 img = Image.open(fullsized_image.jpg) wpercent = (basewidth / float(img.size[0])) hsize = int((float(img.size[1]) * float(wpercent))) img = img.resize((basewidth, hsize), Image.ANTIALIAS) img.save(resized_image.jpg)
这几行 Python 代码使用 Pillow 将一张图片 (fullsized_image.jpg) 调整为 300 像素的宽度,宽度在变量 basewidth 中设置,高度则与新的宽度成比例。比例高度的计算方法是:确定 300 像素占原宽度 (img.size[0]) 的百分比,然后将原高度(img.size[1]) 乘以该百分比。所得的高度值保存在变量 hsize 中。
如果你需要不同的图片宽度,你可以将 basewidth 改为任何其他数字。另外,请注意,因为我想保留全尺寸的图片 (fullsized_image.jpg),因此我将调整后的图片以一个不同的名称 resized_image.jpg 保存。当然,你不必这么做。如果你想,你可以使用相同的文件名将调整后的图片覆盖全尺寸的图片。
按高度缩放如果高度是固定的,而宽度是按比例变化的,那也基本差不多,你只需要把东西换一下:
from PIL import Image baseheight = 560 img = Image.open(fullsized_image.jpg) hpercent = (baseheight / float(img.size[1])) wsize = int((float(img.size[0]) * float(hpercent))) img = img.resize((wsize, baseheight), Image.ANTIALIAS) img.save(resized_image.jpg)
注意 basewidth 现在换成了 baseheight,因为高度是固定的。在第三行中,我们在计算高度百分比,所以我们需要 img.size[1] 而不是 img.size[0]。size 属性是一个元组,包含宽度和高度,单位是像素,size[0] 指的是第一个元组元素,也就是宽度,size[1] 是第二个元素,也就是高度。第 4 行也有这样的切换,size[0] 代表宽度,size[1] 代表高度。
via: https://opensource.com/life/15/2/resize-images-python
作者:Dayo Ntwari 选题:lujun9972 译者:geekpi 校对:wxy
本文由 LCTT 原创编译,Linux中国 荣誉推出
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/49938.html
linuxpython相关文章
- python 使用 with open() as 读写文件
- Python矩阵转置方法大全
- python爬虫—–Python访问http的几种方式「建议收藏」
- python-列表(list)使用方法
- Mac 计算机的日常使用 和 从零开始搭建Python开发环境
- Python使用pandas读取excel表格数据
- 【说站】Python *zip函数的使用
- 【说站】python使用get()访问字典值
- python进程池的使用
- Python中的lambda表达式
- python deepcopy函数_Python deepcopy
- python分段线性插值_Python实现分段线性插值
- python使用opencv如何保存图片_OpenCV Python 保存图片
- python图形界面多线程关闭问题
- 如何使用Python构建价格追踪器进行价格追踪
- 软件测试|使用docker搞定 Python环境搭建
- python-Python与MySQL数据库-使用Python执行MySQL查询
- python-Python与MongoDB数据库-使用Python执行MongoDB查询(一)
- Python字符串及基本操作(入门必看)
- 如何使用Python安装MySQL(python安装mysql)
- 一步步学习:利用Python连接MySQL数据库(python连接mysql数据库)
- 从Python连接Oracle数据库介绍(python连接oracle)
- 使用Python连接MySQL数据库,实现高效数据交互(python连接mysql)
- Python如何使用MySQL构建立连接(python怎么连接mysql)
- Python中使用MySQL数据库的操作技巧(mysql_python)
- 如何使用Python连接MySQL数据库(mysql_connet)
- 2款Python内存检测工具介绍和使用方法