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

相关文章

使用TensorFlow实现SVM

使用TensorFlow实现SVM

较基础的SVM,后续会加上多分类以及高斯核,供大家参考。 Talk is cheap, show me the code import tensorflow as tf from s...

在python3.5中使用OpenCV的实例讲解

在python3.5中使用OpenCV的实例讲解

最近在OpenCV的官方文档上看到一个人脸识别的示例代码,想要实现。由于我之前下好的OpenCV3.1中并不自带相关的函数,即opencv2/contrib/contrib.hpp这个文...

Python入门教程3. 列表基本操作【定义、运算、常用函数】 原创

前面简单介绍了Python字符串基本操作,这里再来简单讲述一下Python列表相关操作 1. 基本定义与判断 >>> dir(list) #查看列表list相关的属...

Python搜索引擎实现原理和方法

Python搜索引擎实现原理和方法

如何在庞大的数据中高效的检索自己需要的东西?本篇内容介绍了Python做出一个大数据搜索引擎的原理和方法,以及中间进行数据分析的原理也给大家做了详细介绍。 布隆过滤器 (Bloom Fi...

python使用Matplotlib改变坐标轴的默认位置

python使用Matplotlib改变坐标轴的默认位置

使用Matplotlib绘制的图表的默认坐标轴是在左下角的,这样对于一些函数的显示不是非常方便,要改变坐标轴的默认显示方式主要要使用gca()方法 plt.gca()表示 Get cur...