程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2023-06(1)

【python】利用python批量处理将图片粘贴到另一张图片上并保存

发布于2019-08-07 12:43     阅读(561)     评论(0)     点赞(4)     收藏(5)


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)

转载请注明出处!!!

 

 



所属网站分类: 技术文章 > 博客

作者:爸爸去挣钱我去幼儿园

链接:https://www.pythonheidong.com/blog/article/10947/9b4dda1d66f0734ffbc3/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

4 0
收藏该文
已收藏

评论内容:(最多支持255个字符)