温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

python如何实现批量处理将图片粘贴到另一张图片上并保存

发布时间:2021-03-24 11:14:29 来源:亿速云 阅读:718 作者:小新 栏目:开发技术

小编给大家分享一下python如何实现批量处理将图片粘贴到另一张图片上并保存,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

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如何实现批量处理将图片粘贴到另一张图片上并保存”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI