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

相关推荐
程序猿老罗1 小时前
使用Python轻松实现Word到PDF的批量转换
python·pdf·word
jie*3 小时前
小杰机器学习高级(five)——分类算法的评估标准
人工智能·python·深度学习·神经网络·机器学习·分类·回归
高峰君主4 小时前
构建智能投资视野:用Python打造个性化股票分析系统
开发语言·python·股票
Python极客之家4 小时前
基于机器学习的智能贫血分析预测系统
人工智能·python·机器学习·数据挖掘·毕业设计·数据可视化分析
Q_Q19632884754 小时前
python+uniapp基于微信小程序的医院陪诊预约系统
开发语言·spring boot·python·微信小程序·django·flask·uni-app
2501_915909065 小时前
Python 爬虫 HTTPS 实战,requests httpx aiohttp 抓取技巧、证书问题与抓包调试全流程
爬虫·python·ios·小程序·https·uni-app·iphone
测试老哥5 小时前
软件测试之单元测试详解
自动化测试·软件测试·python·测试工具·职场和发展·单元测试·测试用例
beijingliushao6 小时前
86-python电网可视化项目-6
开发语言·python·信息可视化·数据可视化
寒山李白6 小时前
VSCode中Python库识别的设置(关于解决VSCode中Python库引入未下载的库不显示黄色虚线的问题)
ide·vscode·python