# ---------------------------------------------------- #
# 作用:将一副图像粘贴到另一幅图像上面
# 使用:仅需改变导入路径,若创建图层需要注意创建图层的大小、颜色,如果想使用其他图片,请导入
# 作者:ZhaoJG
# 时间:2023年12月10日
# ---------------------------------------------------- #
from PIL import Image
# 打开图像
image = Image.open("C:/Users/zhao/Desktop/mask3/256.png")
# 创建一个新的图像,大小为512x40像素,背景为黑色
new_image = Image.new("RGB", (512, 40), "black")
# 将原始图像粘贴到新图像的上方,(0, 482)代表将new_image图像x方向偏移0,y方向偏移482
image.paste(new_image, (0, 482))
# 保存新图像
image.save("C:/Users/zhao/Desktop/mask2/niu7.png")
image.paste
image.paste(im, box, mask=None)
简而言之:将im图像粘贴到image图像上面,box控制粘贴的位置比如(0, 482)指的是在image图像的第482行第0列为原点粘贴
im:要粘贴的源图像,可以是 PIL 图像对象(Image 类型)。
box:粘贴的位置和尺寸,可以是一个元组 (x, y) 表示左上角的坐标,也可以是一个元组 (x, y, width, height) 表示左上角坐标和粘贴区域的宽度和高度。
mask:可选参数,用于指定遮罩图像,用于控制源图像的透明度。如果提供了遮罩图像,粘贴操作将根据遮罩图像的透明度来决定是否显示源图像的像素值。
---------------------------------------------------------------------------------------------------------------------------------
上面是以张为单位更改,下面是一次性更改一个文件夹的内容。
import os
from PIL import Image
# 定义输入文件夹和输出文件夹的路径
input_folder = "C:/Users/zhao/Desktop/mask3"
output_folder = "C:/Users/zhao/Desktop/mask2"
# 获取输入文件夹中的所有图像文件
image_files = os.listdir(input_folder)
# 遍历每个图像文件
for filename in image_files:
# 构建输入文件的完整路径
input_path = os.path.join(input_folder, filename)
# 打开图像
image = Image.open(input_path)
# 创建一个新的图像,大小为512x40像素,背景为黑色
new_image = Image.new("RGB", (512, 40), "black")
# 将原始图像粘贴到新图像的上方
image.paste(new_image, (0, 482))
# 构建输出文件的完整路径
output_path = os.path.join(output_folder, filename)
# 保存新图像
image.save(output_path)