Python 图像处理库Pillow

Python的Pillow库是PIL(Python Imaging Library)的一个分支,它为Python提供了强大的图像处理能力。Pillow允许用户打开、操作和保存多种图像文件格式。其主要作用包括但不限于以下几个方面:

图像基础操作: 可以进行创建、打开、显示、保存图像等基本操作。
图像变换: 支持对图像进行缩放、裁剪、旋转、翻转等变换操作。
图像增强: 提供调整亮度、对比度、饱和度、锐化等功能来改善图像质量。
滤镜效果: 可以应用不同的滤镜效果到图像上,如模糊、轮廓检测等。
绘图功能: 支持在图像上绘制线条、矩形、椭圆、多边形等各种形状。
文字处理: 能够在图像上添加文本。
颜色模式转换: 支持将图像从一种颜色模式转换为另一种,比如RGB转灰度图。
**读取和写入多种格式的图像文件:**支持如JPEG、PNG、GIF、BMP等多种常见图像格式。

Pillow非常适合需要在程序中处理图像的应用场景,无论是简单的脚本还是复杂的web应用程序。通过使用Pillow,开发者能够轻松地实现图像编辑与处理的功能。

下面仅介绍一个较为简单的功能,更改图片尺寸,需要进行图片处理时可参考官方文档。

代码如下:

python 复制代码
# 需要提前安装 pillow 库(pip install pillow)
from PIL import Image


def resize_image(input_path, output_path, width, height):
    """
    调整图片尺寸并保存
    :param input_path: 输入图片路径
    :param output_path: 输出图片路径
    :param width: 目标宽度
    :param height: 目标高度
    """
    try:
        with Image.open(input_path) as img:
            # 使用LANCZOS高质量重采样滤波器(注意LANCZOS所在位置,跟版本可能相关)
            # resized_img = img.resize((width, height), Image.LANCZOS)
            resized_img = img.resize((width, height), Image.Resampling.LANCZOS)
            resized_img.save(output_path)
            print(f"图片已成功调整为 {width}x{height} 并保存至 {output_path}")
    except Exception as e:
        print(f"处理图片时出错: {e}")


# 使用示例(将 input.png 转变为自定义像素(本次是 500* 500)的 output.png)
resize_image("input.png", 'output.png', 500, 500)

运行结果:

原始图片为 180*180 像素:

更改图片像素 500*500 后:

相关推荐
卷无止境8 分钟前
面向arm64桌面客户端开发全景:语言、框架与生态
后端·python
fanruitian20 分钟前
python else用法
开发语言·python
Thinker QAQ1 小时前
并发编程(十一):Shared Memory 与 Message Passing——关系与组合使用
java·python·go·并发编程·shared memory·message passing
用户8356290780511 小时前
如何使用 Python 对 Excel 数据进行分组和分级显示
后端·python
vx_Biye_Design1 小时前
django房屋租赁推荐系统78455-计算机课程设计、毕业设计
vue.js·spring boot·后端·python·django·课程设计·express
学Linux的语莫3 小时前
python中类的常见写法
开发语言·python·状态模式
垆边人似月.3 小时前
Python中如何使用get函数实现频次查询
服务器·前端·python
AI 编程助手GPT4 小时前
GPT 脚本别只发一个文件:用 uv 把依赖和锁一起交付
人工智能·python·gpt·uv·依赖管理
Patrick在香港4 小时前
第 16,216 次连接之后,它不干了
python·网络编程·socket·tcp·连接池
我命由我123454 小时前
Python 开发 - Python 虚拟环境
运维·开发语言·后端·python·http·https·java-ee