python实现两张图片拼接(身份证正反面图片拼接)

import PIL.Image as Image

import os
Image_Path = r'F:/dataset/身份证素材-1-100多张正反面/sfz/'# 存放数据的地址

Image_Format = ['.jpg','.JPG','.png','.PNG'] # 图片格式

Image_Size = 2048   # 每张小图片的大小,可自行调节大小

Image_Row = 2 # 图片间隔,也就是合并成一张图后,一共有几行

Image_Column = 1  # 图片间隔,也就是合并成一张图后,一共有几列

Image_Save_Path = './IDcaed_Concat/1-100/'# 储存拼接图片的文件夹

if not os.path.exists(Image_Save_Path):
      os.makedirs(Image_Save_Path)
        
Image_Names = [name for name in os.listdir(Image_Path) 
              for item in Image_Format
              if os.path.splitext(name)[1] == item ]#判断文件夹下的图片是否是图片格式

# 简单的对于参数的设定和实际图片集的大小进行数量判断
Image_Sum = Image_Row * Image_Column
if len(Image_Names) % Image_Sum!=0:#说明图片数量不对
  
     raise ValueError("合成图片的参数和要求的数量不能匹配!")
index=1
for i in range(1,len(Image_Names)+1,Image_Sum):
    #print(i)
    to_image = Image.new('RGB',(Image_Column*Image_Size,Image_Row*Image_Size))
    for x in range(1,Image_Row+1):#Image_Row行
        for y in range(1,Image_Column+1):
            from_image = Image.open(Image_Path + Image_Names[Image_Column*(x-1)+y-1+i-1]).resize(
                (Image_Size,Image_Size),Image.ANTIALIAS)
            to_image.paste(from_image, ((y - 1) * Image_Size, (x - 1) * Image_Size))
    Image_Save_Path_Index=Image_Save_Path+str(index)+'.jpg'
    to_image.save(Image_Save_Path_Index)
    index=index+1

 

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值