Python替换图片的指定区域
要在Python中替换图片的指定区域,可以使用Pillow库。以下是一个简单的例子,展示如何替换图片的一个区域:
from PIL import Image
def replace_image_region(src_path, dest_path, region, replacement_image):
# 加载原始图片和替换区域的图片
image = Image.open(src_path)
replacement = Image.open(replacement_image).convert(image.mode)
# 获取替换区域的大小
region_width, region_height = region[2] - region[0], region[3] - region[1]
# 调整替换图片的大小以匹配替换区域
replacement = replacement.resize((region_width, region_height))
# 通过掩码获取替换区域
mask = Image.new("L", (region_width, region_height), 255)
region_image = image.crop(region)
# 应用掩码和替换图片
region_image.paste(replacement, (0, 0), mask)
# 粘贴图片区域回原图
image.paste(region_image, region)
# 保存新图片
image.save(dest_path)
使用示例
src_img_path = ‘source.jpg’ # 原始图片路径
dest_img_path = ‘destination.jpg’ # 替换后保存的图片路径
replacement_img_path = ‘replacement.png’ # 替换区域的图片路径
region = (100, 100, 300, 300) # 替换的区域坐标 (左, 上, 右, 下)
replace_image_region(src_img_path, dest_img_path, region, replacement_img_path)