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 后:

相关推荐
weixin_446260857 小时前
HACO:面向动态部署环境的对冲式智能计算可靠多智能体调度框架
后端·python·flask
我的xiaodoujiao7 小时前
API 接口自动化测试详细图文教程学习系列32--Allure测试报告2
python·学习·测试工具·pytest
qetfw7 小时前
MXU:Tauri 2 + React 的 MaaFramework 跨平台 GUI 源码
前端·python·react.js·前端框架·开源项目·效率工具
用户8356290780518 小时前
Python 实现 Excel 页面布局与打印设置自动化
后端·python
一次旅行8 小时前
Python+大模型端到端自动化日报系统
开发语言·python·自动化
天天爱吃肉82188 小时前
【电源拆解:跟着问答逐一认识开关适配器PCB元器件】
大数据·人工智能·python·功能测试·嵌入式硬件·汽车
_Jimmy_8 小时前
AI应用开发工程师面试题库
人工智能·python·深度学习·机器学习·知识图谱
用户8356290780518 小时前
Python 实现 Excel 命名范围(Named Range)的创建与管理
后端·python
dreamer_83999 小时前
AI智能合同比对系统:从零搭建实战教程
人工智能·python
AOwhisky10 小时前
Python 学习笔记(第十五期)——运维自动化(下·后篇):堡垒机实战——paramiko高阶篇
运维·python·学习·云原生·自动化·运维开发