Notes

Python 图像处理

Pillow

获取颜色的 RGBA 值

from PIL import ImageColor
color = ImageColor.getcolor('red', 'RGBA')

加载图像

from PIL import Image

anImage = Image.open(imagePath)

获取图像数据

anImage.size # 获取大小,返回的是 (width, height) 元组

anImage.filename # 获取文件名,包含后缀名

anImage.format # 获取图片格式

anImage.format_description # 获取图片格式的定义

anImage.save('xxx.jpg') # 可以直接指定后缀名来对图像进行格式转换

新建图像

from PIL import Image

im = Image.new('RGBA', (100, 200), 'purple')
im.save('image.png')

参数

若不指定颜色,则默认是 (0, 0, 0, 0), 即透明色

裁剪图片

使用 crop() 方法

croppedImage = anImage.crop(cropRect)
croppedImage.save(imageName)

复制和粘贴图像到其他图像

复制图像使用 copy() 方法

copyImage = anImage.copy()

粘贴图像使用 paste() 方法

copyImage.paste(anotherImage, (0, 0))

copy()paste() 方法都不是使用系统的剪切板

如果需要粘贴具有透明像素的图像,则将源图片再次作为 paste() 的第三个参数传入 第三个参数是作为遮罩层的 Image 对象

遮罩是一个 Image 对象,其中 alpha 值有效,而 RGB 值被忽略

调整图片大小

调整图像大小使用 resize() 方法

resizedImage = anImage.resize(resizeSize)

旋转和翻转图像

旋转图像使用 rotate() 方法

rotatedImage = anImage.rotate(angle)

镜像翻转图片使用 transpose() 方法

transposedImage = anImage.transpose(Image.FLIP_LEFT_RIGHT)

transposedImage = anImage.transpose(Image.FLIP_TOP_BOTTOM)

更改单个像素