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

yipeiwu_com6年前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实现批量处理将图片粘贴到另一张图片上并保存就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python中for循环把字符串或者字典添加到列表的方法

python中for循环把字符串或者字典添加到列表的方法

python中如何for循环把字符串添加到列表? 实例: 1.单个字符串用for循环添加到列表中: # 把L1中的字符串添加到列表alist里面 L1 = 'MJlifeBlog'...

python绘制条形图方法代码详解

python绘制条形图方法代码详解

1.首先要绘制一个简单的条形图 import numpy as np import matplotlib.pyplot as plt from matplotlib import m...

Python中低维数组填充高维数组的实现

Python中低维数组填充高维数组的实现

今天遇到这样一种业务情况: 我的图片的画布是(4,4,3)的三维数组,而得到的图片是(2,2,3)的三维数组,我要把图片放到画布的中间某个位置应该怎么做呢? 大家首先想到是遍历循环,但是...

python 异常处理总结

       最近,做个小项目经常会遇到Python 的异常,让人非常头疼,故对异常进行整理,避免下次遇到异常不知所措,以下就...

django模板结构优化的方法

模版结构优化 引入模版 有时候一些代码是在许多模版中都用到的。如果我们每次都重复的去拷贝代码那肯定不符合项目的规范。一般我们可以把这些重复性的代码抽取出来,就类似于Python中的函...