python数据分析人工智能机器学习数据分析工具pandas快速入门教程js css html

Python图像处理教程(Pillow)5基本图像处理

2022-11-24  本文已影响0人  python测试开发

基本图像处理

Pillow简介

Pillow 是一个用于图像处理的 Python 库。它提供了许多与GIMP或Photoshop等成像应用程序中类似的图像处理功能,但它们是用Python代码而不是用户界面来调用的。这对于自动化图像处理任务或在你自己的应用程序中添加成像功能是非常理想的。

Pillow是一个名为PIL的老式图像库的fork。这意味着它是基于PIL中的原始代码,但随着时间的推移,新的功能和错误修正已经被加入。

PIL本身自2009年以来就没有更新过。Pillow的主要动机是PIL与Python 3不兼容,而且PIL与setuptools不兼容(意味着它不能用pip轻松安装)。此外,PIL还有一些已知的错误没有被修复。

Pillow已经成为PIL的事实上的替代品。Pillow使用PIL的命名空间。你不应该尝试将PIL和Pillow安装在同一个系统上。

安装Pillow

python3 -m pip install --upgrade pip
python3 -m pip install --upgrade Pillow

Pillow的主要特点

创建和显示图像

from PIL import Image

image = Image.effect_mandelbrot((520, 440), (-2, -1.1, 0.6, 1.1), 256)
image.show()

Image.effect_mandelbrot函数有3个参数。

调用image.show()会使图像在单独的窗口中显示。这主要是为了测试和调试的目的--它为你省去了将图像保存到文件然后在查看器中打开图像的麻烦。

保存图像

from PIL import Image

image = Image.effect_mandelbrot((520, 440), (-2, -1.1, 0.6, 1.1), 256)
image.save('mandelbrot.png')

save方法使用提供的文件名保存图像对象。文件类型是由扩展名控制的。例如,".png "创建PNG文件,或者".jpg "创建JPEG文件。

处理颜色

Pillow支持许多颜色空间,包括:

将字符串转换为颜色

你可以用字符串来表示颜色。有多种格式,例如。

当你把字符串传入需要颜色的Pillow函数时,它将被自动转换为颜色。

Image.new创建图像

from PIL import Image, ImageColor

image = Image.new('RGB', (400, 300), 'gold')
image.show()

new有3个参数。

打开图像

from PIL import Image

image = Image.open('boat.jpg')
image.show()

旋转图像

from PIL import Image

image = Image.open('boat.jpg')
rotated = image.rotate(180)
rotated.show()

rotated.save("rotated-boat.png")

rotate方法创建旋转过的新图像。旋转需要1个参数和一些额外的可选参数。

注意:旋转默认不会改变size,可能会导致部分图片内容丢失。使用expand=True会扩展图片size。transpose(Image.ROTATE_90)和im.rotate(90, expand=True)的效果实际是相同。

更多旋转实例:pillow/rotate.py

命令行旋转工具:tools/rotate.py

opencv的旋转:cv/rotate.py

创建缩略图

from PIL import Image

image = Image.open('boat.jpg')
image.thumbnail((200, 200))
image.show()

image.save("thumbnail-boat.png")

缩略图需要1个参数。

图像模式

在Pillow中,图像模式描述了色彩空间和每个像素的比特数。它由字符串表示。

最常见的模式是

参考资料

上一篇 下一篇

猜你喜欢

热点阅读