1图像混合与遮罩
1.1 线性混合(Blend)
python
from PIL import Image
im1 = Image.open("kfc-1.jpg").convert("RGB")
im2 = Image.new("RGB", im1.size, color="green") # 纯绿色图
blend = Image.blend(im1, im2, alpha=0.5) # alpha=0.0--1.0
blend.show()
1.2 遮罩合成(Composite)
python
from PIL import Image
im1 = Image.open("kfc-1.jpg").convert("RGB")
im2 = Image.open("kfc-2.jpg").convert("RGB").resize(im1.size)
构造掩膜:这里用 im1 的 R 通道做掩膜
r, g, b = im1.split()
composite = Image.composite(im2, im1, mask=r) # mask:灰度图
composite.show()
2 缩放、裁剪、旋转与镜像
python
from PIL import Image
im = Image.open("kfc-1.jpg")
# 缩放 (保持比例)
im.thumbnail((200, 200))
im.show()
# 裁剪 (左、上、右、下)
crop = im.crop((10, 10, 110, 110))
crop.show()
# 旋转与镜像
im.rotate(90, expand=True).show() # 顺时针90°,expand=True 保持完整
im.transpose(Image.FLIP_LEFT_RIGHT).show() # 水平翻转
im.transpose(Image.FLIP_TOP_BOTTOM).show() # 垂直翻转