Pillow:Python图像处理库详解

Pillow(之前称为PIL,Python Imaging Library)是一个开源的Python图像处理库,它提供了广泛的文件格式支持、强大的图像处理能力和易于使用的API。Pillow可以处理几乎所有类型的图像文件,并且可以进行复杂的图像操作,如旋转、缩放、颜色转换等。

Pillow的主要特点

  • 广泛的文件格式支持:支持打开、保存和操作多种图像文件格式。
  • 图像处理能力:提供图像过滤、颜色转换、几何变换等功能。
  • 易于使用的API:提供了简单直观的API来处理图像。
  • 图像过滤:包括模糊、锐化、边缘检测等多种滤镜效果。
  • 图像绘制:可以在图像上绘制文本、线条、形状等。

常用Pillow函数及其参数

Image.open()

打开图像文件并返回一个Image对象。

  • filename: 图像文件的路径。

Image.new()

创建一个新的图像。

  • mode: 图像模式,如'RGB''L'等。
  • size: 图像的尺寸,格式为(width, height)

Image.save()

保存图像到文件。

  • filename: 保存的文件路径。
  • format: 文件格式。

Image.resize()

调整图像的大小。

  • size: 新的图像尺寸。
  • resample: 重采样过滤器。

Image.crop()

裁剪图像。

  • bbox: 裁剪区域的边界框。

Image.rotate()

旋转图像。

  • angle: 旋转角度。
  • resample: 重采样过滤器。

Image.transpose()

转换图像。

  • method: 转换方法,如Image.FLIP_LEFT_RIGHT

Image.filter()

应用滤镜效果。

  • filter: 滤镜对象。

ImageDraw.Draw()

在图像上进行绘制。

  • image: 要绘制的图像对象。

ImageFont.truetype()

加载TrueType或OpenType字体文件。

  • font: 字体文件的路径。
  • size: 字体大小。

示例

以下是一个使用Pillow进行图像处理的示例:

python 复制代码
from PIL import Image, ImageDraw, ImageFont

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

# 创建一个新的图像
new_image = Image.new('RGB', (200, 200), 'white')

# 将原始图像粘贴到新图像上
new_image.paste(image, (50, 50))

# 旋转图像
rotated_image = new_image.rotate(45, expand=True)

# 绘制文本
draw = ImageDraw.Draw(rotated_image)
font = ImageFont.truetype('arial.ttf', 15)
draw.text((10, 10), 'Hello, Pillow!', font=font, fill='black')

# 保存图像
rotated_image.save('output.jpg')

在这个示例中,我们首先打开了一个图像文件,然后创建了一个新的白色图像。我们将原始图像粘贴到新图像上,然后旋转了新图像。最后,我们在图像上绘制了文本,并保存了最终的图像。

相关推荐
minstbe23 分钟前
IC设计私有化AI助手实战:基于Docker+OpenCode+Ollama的数字前端综合增强方案(进阶版)
人工智能·python·语言模型·llama
zyq99101_12 小时前
优化二分查找:前缀和降复杂度
数据结构·python·蓝桥杯
qyzm2 小时前
天梯赛练习(3月13日)
开发语言·数据结构·python·算法·贪心算法
Qt学视觉3 小时前
AI2-Paddle环境搭建
c++·人工智能·python·opencv·paddle
廋到被风吹走3 小时前
【LangChain4j】特点功能及使用场景
后端·python·flask
Eward-an3 小时前
LeetCode 239. 滑动窗口最大值(详细技术解析)
python·算法·leetcode
喵手4 小时前
Python爬虫实战:用代码守护地球,追踪WWF濒危物种保护动态!
爬虫·python·爬虫实战·濒危物种·零基础python爬虫教学·wwf·濒危物种保护动态追踪
梦想的旅途24 小时前
如何通过 QiWe API 实现企业微信主动发消息
开发语言·python
喵手4 小时前
Python爬虫实战:自动化抓取 Pinterest 热门趋势与创意!
爬虫·python·爬虫实战·pinterest·零基础python爬虫教学·采集pinterest热门趋势·热门趋势预测
凌晨一点的秃头猪4 小时前
Python文件操作
开发语言·python