首页 > 编程语言 >python 圖片拼接demo

python 圖片拼接demo

时间:2024-06-11 12:54:28浏览次数:30  
标签:size1 圖片 python demo Image joint img1 paste size

from PIL import Image

def comb(png1, png2, png3,png4,png5,style='horizontal'):

    img1, img2,img3, img4,img5= Image.open(png1), Image.open(png2) ,Image.open(png3) ,Image.open(png4) ,Image.open(png5)
    # 统一图片尺寸,可以自定义设置(宽,高)
    img1 = img1.resize(img1.size, Image.LANCZOS)
    img2 = img2.resize(img1.size, Image.LANCZOS)
    img3 = img3.resize(img1.size, Image.LANCZOS)
    img4 = img4.resize(img1.size, Image.LANCZOS)
    img5 = img5.resize(img1.size, Image.LANCZOS)

    size1, size2,size3,size4,size5 = img1.size, img2.size,img3.size, img4.size,img5.size
    if style == 'horizontal':
        joint = Image.new('RGB', (size1[0]+size2[0]+size3[0]+size4[0]+size5[0], size1[1]))
        loc1, loc2 ,loc3,loc4,loc5= (0, 0),  (size1[0],0),(size1[0]+size2[0],0),(size1[0]+size2[0]+size3[0],0),(size1[0]+size2[0]+size3[0]+size4[0], 0)
        joint.paste(img1, loc1)
        joint.paste(img2, loc2)
        joint.paste(img3, loc3)
        joint.paste(img4, loc4)
        joint.paste(img5, loc5)
       
        joint.save('horizontal.jpg')
    elif style == 'vertical':
        joint = Image.new('RGB', (size1[0], size1[1] + size2[1]+size3[1]+size4[1]+size5[1]+5))
        loc1, loc2 ,loc3,loc4,loc5= (0, 0), (0, size1[1]),(0,size1[1]+size2[1]),(0,size1[1]+size2[1]+size3[1]),(0,+size1[1]+size2[1]+size3[1]+size4[1])
        joint.paste(img1, loc1)
        joint.paste(img2, loc2)
        joint.paste(img3, loc3)
        joint.paste(img4, loc4)
        joint.paste(img5, loc5)
        joint.save('vertical.jpg')

if __name__ == '__main__':
    # 两张图片地址:
    png1 = r"./1.png"
    png2 = r"./2.png"
    png3 = r"./3.png"
    png4 = r"./4.png"
    png5 = r"./5.png"
    
    # 左右拼接
    comb(png1, png2,png3,png4,png5, style='horizontal')

    # 上下拼接
    #comb(png1, png2,png3,png4,png5,style='vertical')
    

 

标签:size1,圖片,python,demo,Image,joint,img1,paste,size
From: https://www.cnblogs.com/luoxh-whn/p/18241871

相关文章

  • Python实现简单的图形化界面 -----Qt GUI
    一、Qt简介以及安装简单介绍Qt以及响应的环境安装Qt简介Qt是一个跨平台的C++开发库,主要用来开发图形用户界面(GraphicalUserInterface,GUI)程序,当然也可以开发不带界面的命令行(CommandUserInterface,CUI)程序。支持通用操作系统Windows、Linux、Unix,智能手机系统Andro......
  • Python数据分析与机器学习在电子商务推荐系统中的应用
    文章目录......
  • Python中的浅拷贝与深拷贝
    Python中值的拷贝可分为直接赋值,浅拷贝与深拷贝直接赋值:即为对象的引用,赋值前后的对象均指向同一对象浅拷贝:拷贝父对象,拷贝前与拷贝后的对象均为独立的对象,但是他们的子对象都仍然指向同一对象深拷贝:完全拷贝父对象及子对象,拷贝前与拷贝后的对象均独立存在演示代码如下import......
  • Python集成开发环境(IDE)JetBrains pycharm pro 2024 for mac
    JetBrainsPyCharmPro2024确实是一款强大的Python集成开发环境(IDE),为Python开发者提供了许多高级功能和改进,旨在提高开发效率和代码质量。以下是对您提到的PyCharm2024新增功能的详细解释:Python集成开发环境(IDE)软件地址HuggingFace模型和数据集的文档预览PyCharm2024......
  • 流畅的python--第十章 使用一等函数实现设计 模式
    经典的策略模式示例10-1实现Order类,支持插入式折扣策略fromabcimportABC,abstractmethodfromcollections.abcimportSequencefromdecimalimportDecimalfromtypingimportNamedTuple,OptionalclassCustomer(NamedTuple):name:strfidelity:intcl......
  • centOS安装python3
    CentOS7安装Python3在CentOS系统上安装Python3的步骤如下:首先,打开终端。安装必要的构建工具和库:sudoyumgroupinstall-y"DevelopmentTools"sudoyuminstall-yzlib-develbzip2-developenssl-develncurses-develsqlite-develreadline-develtk-develgdbm......
  • Python控制语句
    程序设计中的控制语句有3种,即顺序、分支和循环语句。Python程序通过控制语句来管理程序流,完成一定的任务。程序流是由若干个语句组成,语句既可以是一条单一的语句,也可以是复合语句(即语句中嵌套语句),Python中的控制语句如下:分支语句:if循环语句:while和for跳转语句:break、continue......
  • Python数据结构——序列(超详细版)
    在计算机程序中会有很多数据,使用数据结构可以管理这些数据,Python中的数据结构主要有序列、集合和字典。常见的数据结构有:数组(array)、集合(set)、列表(list)、队列(queue)、链表(linkedlist)、树(tree)、堆(heap)、栈(stack)和字典(dictionary)。注意:Python中并没有数组结构,因为数组要求元素类......
  • “深度学习之巅:在 CentOS 7 上打造完美Python 3.10 与 PyTorch 2.3.0 环境”学习
    在CentOS7上安装Python3.10和PyTorch2.3.0时,为什么要首先升级OpenSSL?在CentOS7上,默认安装的OpenSSL版本可能不支持Python3.10所需的最新加密标准。因此,为了确保Python3.10能够正常工作,需要先升级OpenSSL到支持这些标准的版本。升级OpenSSL的具体步骤是什么?升级Ope......
  • Python 变量
    Python变量变量的定义变量是编程中不可或缺的一部分,特别是在Python中,它们扮演着存储和引用数据的重要角色。变量可以被视为命名容器,用于存储不同类型的数据,如字符串、数字、列表等。这些变量允许我们通过其独特的名字在程序中轻松访问和修改数据。在Python中,变量的创建实际上......