Python中Pillow库的常见用法和代码示例

本文涉及的产品
视觉智能开放平台,视频通用资源包5000点
视觉智能开放平台,图像通用资源包5000点
视觉智能开放平台,分割抠图1万点
简介: Pillow是Python中广泛使用的图像处理库,支持丰富的图像操作功能,包括但不限于打开、保存、缩放、裁剪、旋转、调色等。本文通过一系列示例介绍Pillow的基本用法,涵盖图像的加载与显示、尺寸调整、裁剪与旋转、亮度调整、格式转换、滤镜应用、图像合成及像素级操作等。首先需通过`pip install pillow`安装库,随后可通过导入`PIL.Image`等模块开始图像处理任务。无论是初学者还是进阶用户,都能从Pillow提供的强大功能中获益。

Pillow是Python中非常流行的图像处理库,它提供了广泛的图像操作功能,如打开、保存、缩放、裁剪、旋转、调色等。下面我将为您展示Pillow库的一些常见用法和代码示例。

首先,确保您已经安装了Pillow库。如果尚未安装,可以使用pip进行安装:

bash复制代码

pip install pillow

1. 打开和显示图像

from PIL import Image  

# 打开图像  
image = Image.open('path_to_your_image.jpg')  

# 显示图像(这一步需要在支持图形用户界面的环境中执行,例如Jupyter Notebook)  
image.show()

2. 保存图像

# 保存图像为新的文件  
image.save('new_image.jpg')

3. 图像缩放

# 缩放图像到指定大小  
resized_image = image.resize((800, 600))  
resized_image.show()

4. 图像裁剪

# 裁剪图像(定义左上角和右下角的坐标)  
cropped_image = image.crop((100, 100, 400, 400))  
cropped_image.show()

5. 图像旋转

# 旋转图像(90度)  
rotated_image = image.rotate(90)  
rotated_image.show()

6. 调整图像亮度

# 使用ImageEnhance库调整亮度  
from PIL import ImageEnhance  

enhancer = ImageEnhance.Brightness(image)  
brightened_image = enhancer.enhance(2.0)  # 增加亮度(2.0倍)  
brightened_image.show()

7. 图像格式转换

# 将图像转换为灰度图像  
gray_image = image.convert('L')  
gray_image.show()

8. 图像滤镜

# 应用滤镜效果(例如模糊)  
blurred_image = image.filter(ImageFilter.BLUR)  
blurred_image.show()

注意:在上面的滤镜示例中,我遗漏了ImageFilter的导入语句。正确的代码应该是:

from PIL import Image, ImageFilter  

# 应用滤镜效果(例如模糊)  
blurred_image = image.filter(ImageFilter.BLUR)  
blurred_image.show()

9. 图像合成与叠加

# 打开另一个图像用于合成  
overlay_image = Image.open('path_to_overlay_image.png')  

# 将overlay_image叠加到原始图像上(注意:这两个图像应该有相同的尺寸)  
result = Image.alpha_composite(image, overlay_image)  
result.show()

10. 图像像素操作

# 访问并修改图像的像素值  
pixels = image.load()  
width, height = image.size  

for x in range(width):  
    for y in range(height):  
        r, g, b = pixels[x, y]  # 获取像素的RGB值  
        # 对像素值进行一些操作,例如增加亮度  
        r = min(255, r + 50)  
        g = min(255, g + 50)  
        b = min(255, b + 50)  
        pixels[x, y] = (r, g, b)  # 设置新的像素值  

image.show()  # 显示修改后的图像

这些示例涵盖了Pillow库的一些基本用法。当然,Pillow还提供了许多其他高级功能和选项,您可以查阅官方文档以获取更多详细信息。

目录
相关文章
|
15天前
|
存储 算法 调度
【复现】【遗传算法】考虑储能和可再生能源消纳责任制的售电公司购售电策略(Python代码实现)
【复现】【遗传算法】考虑储能和可再生能源消纳责任制的售电公司购售电策略(Python代码实现)
121 26
|
11天前
|
Python
Python的简洁之道:5个让代码更优雅的技巧
Python的简洁之道:5个让代码更优雅的技巧
167 104
|
11天前
|
开发者 Python
Python神技:用列表推导式让你的代码更优雅
Python神技:用列表推导式让你的代码更优雅
273 99
|
12天前
|
设计模式 人工智能 API
AI智能体开发实战:17种核心架构模式详解与Python代码实现
本文系统解析17种智能体架构设计模式,涵盖多智能体协作、思维树、反思优化与工具调用等核心范式,结合LangChain与LangGraph实现代码工作流,并通过真实案例验证效果,助力构建高效AI系统。
165 7
|
14天前
|
JSON 缓存 开发者
淘宝商品详情接口(item_get)企业级全解析:参数配置、签名机制与 Python 代码实战
本文详解淘宝开放平台taobao.item_get接口对接全流程,涵盖参数配置、MD5签名生成、Python企业级代码实现及高频问题排查,提供可落地的实战方案,助你高效稳定获取商品数据。
|
计算机视觉 Python
Python编程:pillow对图像的简单处理
Python编程:pillow对图像的简单处理
203 0
Python编程:pillow对图像的简单处理
|
23天前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
191 102
|
23天前
|
数据采集 机器学习/深度学习 算法框架/工具
Python:现代编程的瑞士军刀
Python:现代编程的瑞士军刀
196 104
|
23天前
|
人工智能 自然语言处理 算法框架/工具
Python:现代编程的首选语言
Python:现代编程的首选语言
185 103
|
23天前
|
机器学习/深度学习 人工智能 数据挖掘
Python:现代编程的首选语言
Python:现代编程的首选语言
132 82

热门文章

最新文章

推荐镜像

更多