【python】利用PIL实现批量将一组图片粘贴到另外一组图片上


功能:实现将文件夹下一组图片随机粘贴到另一个文件夹下的一组图片上,并保存

代码

from PIL import Image
import os
import random
 
def handle_img(imgdir,imgFlodName,img_path):
    imgs = os.listdir(imgdir+imgFlodName)
    imgNum = len(imgs)
    print(imgNum)
    image_ori = os.listdir(img_path)
    image_Num = len(image_ori)
    print(image_Num)
 
    for i in range(imgNum):
        img1 = Image.open(imgdir + imgFlodName + "/" + imgs[i])
        img = img1.resize((102,102))
 
        for j in range(image_Num):
 
            oriImg = Image.open(img_path + "/" + image_ori[j])
            image = oriImg.size
            # oriImg.paste(img, (image[0]-102, image[1]-102))
 
            if image[0]<image[1]:
                oriImg.paste(img,(random.randint(0,image[0]-102),random.randint(0,image[0]-102)))
            else:
                oriImg.paste(img, (random.randint(0, image[1]-102), random.randint(0, image[1]-102)))
            oriImg.show()
            oriImg1 = oriImg.convert('RGB')
            oriImg1.save("pic/new"+"/"+str(i)+".jpg")
 
 
imgdir = "pic"
imgFlodName = "pic11"
image_path = "pic/image"
handle_img(imgdir,imgFlodName,image_path)

Imgage.paste()

使用Imgage.paste()需要注意的地方:
用法:img1.paste(img2,box)
功能:将img2粘贴到img1上
box代表要粘贴的位置box=(x1,y1,x2,y2),其中,(x1,y1)表示img2粘贴到img1中的左上角的位置,(x2,y2)表示右下角的位置。
如图所示:
在这里插入图片描述

参考

https://blog.csdn.net/qq_37902216/article/details/93632178

https://blog.csdn.net/qq_44487483/article/details/114501408

猜你喜欢

转载自blog.csdn.net/AugustMe/article/details/116757311
今日推荐