时间:2021-01-14 python教程 查看: 928
pillow真的是一个很强大的图像处理库!!!!
本人利用pillow库实现了将文件夹下的批量照片随机粘贴到另一张图片上,并批量保存到指定文件夹!!!
直接上代码:
from PIL import Image
import os
import random
def handle_img(imgdir,imgFlodName):
imgs = os.listdir(imgdir+imgFlodName)
imgNum = len(imgs)
print(imgNum)
for i in range(imgNum):
img1 = Image.open(imgdir + imgFlodName + "/" + imgs[i])
img = img1.resize((102,102)) #将图片调整到合适大小
oriImg = Image.open("F:/Download/111.jpg") #打开图片
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("F:/Download/sign_data"+"/"+str(i)+".jpg")
imgdir = "F:/Download/"
imgFlodName = "v2.0sign_picture"
handle_img(imgdir,imgFlodName)
接下来,实现将文件夹下一组图片随机粘贴到另一个文件夹下的一组图片上,并保存!!!其实就是再加一个for循环就可以了!!!
直接上代码:
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("F:/Download/sign2_data"+"/"+str(i)+".jpg")
imgdir = "F:/Download/"
imgFlodName = "v2.0sign_picture"
image_path = "F:/Download/image"
handle_img(imgdir,imgFlodName,image_path)
以上这篇python实现批量处理将图片粘贴到另一张图片上并保存就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持python博客。