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设计】。

相关文章

Python3 实现减少可调用对象的参数个数

问题 一个被其他python代码使用的callable对象,可能是一个回调函数或者是一个处理器,由于其参数太多,导致调用时出错。 解决方案 如果需要减少某个函数的参数个数,可以使用fun...

python仿evething的文件搜索器实例代码

python仿evething的文件搜索器实例代码

今天看到everything搜索速度秒杀windows自带的文件管理器,所以特地模仿everything实现了文件搜索以及打开对应文件的功能,首先来一张搜索对比图。 这是evething...

浅谈Python 敏感词过滤的实现

一个简单的实现 class NaiveFilter(): '''Filter Messages from keywords very simple filter imp...

python批量修改图片大小的方法

本文实例为大家分享了python批量修改图片大小的具体代码,供大家参考,具体内容如下 引用的模块 from PIL import Image Image的使用 def res...

Python中的list与tuple集合区别解析

Python中内置了list集合与tuple集合,在list集合中可以实现元素的添加、修改、插入、以及删除。tuple集合看似与list类似,但两者还是有很大的区别。 在tuple集合中...