python实现多张图片拼接成大图

本文实例为大家分享了python实现多张图片拼接成大图的具体代码,供大家参考,具体内容如下

上次爬取了马蜂窝的游记图片,并解决了PIL模块的导入问题,现在直奔主题吧:

import PIL.Image as Image
import os

IMAGES_PATH = 'D:\Mafengwo\photo\五月坦桑的暖风,非洲原野的呼唤\\' # 图片集地址
IMAGES_FORMAT = ['.jpg', '.JPG'] # 图片格式
IMAGE_SIZE = 256 # 每张小图片的大小
IMAGE_ROW = 5 # 图片间隔,也就是合并成一张图后,一共有几行
IMAGE_COLUMN = 4 # 图片间隔,也就是合并成一张图后,一共有几列
IMAGE_SAVE_PATH = 'final.jpg' # 图片转换后的地址

# 获取图片集地址下的所有图片名称
image_names = [name for name in os.listdir(IMAGES_PATH) for item in IMAGES_FORMAT if
        os.path.splitext(name)[1] == item]

# 简单的对于参数的设定和实际图片集的大小进行数量判断
if len(image_names) != IMAGE_ROW * IMAGE_COLUMN:
  raise ValueError("合成图片的参数和要求的数量不能匹配!")

# 定义图像拼接函数
def image_compose():
  to_image = Image.new('RGB', (IMAGE_COLUMN * IMAGE_SIZE, IMAGE_ROW * IMAGE_SIZE)) #创建一个新图
  # 循环遍历,把每张图片按顺序粘贴到对应位置上
  for y in range(1, IMAGE_ROW + 1):
    for x in range(1, IMAGE_COLUMN + 1):
      from_image = Image.open(IMAGES_PATH + image_names[IMAGE_COLUMN * (y - 1) + x - 1]).resize(
        (IMAGE_SIZE, IMAGE_SIZE),Image.ANTIALIAS)
      to_image.paste(from_image, ((x - 1) * IMAGE_SIZE, (y - 1) * IMAGE_SIZE))
  return to_image.save(IMAGE_SAVE_PATH) # 保存新图
image_compose() #调用函数

前边设置了很多变量,都很直观,然后时获取图片的名称以及对需要拼接图片的数量进行检查,比如你要拼接5*5的大图,那就需要25张图片,最后是我们的主函数,依次遍历,主要还是利用了Image模块的强大功能,我们需要做的就是无缝对接。

效果如下:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Python实现图片拼接的代码

    具体代码如下所示: import os from PIL import Image UNIT_SIZE = 220 # the size of image save_path = '/root/group-dia/zxb/Code-/lip-CycleGAN-and-pix2pix-master/checkpoints/lip_cyclegan_6.0/web/result/out' path = "/root/group-dia/zxb/Code-/lip-CycleGAN-and-pix2p

  • python实现两张图片拼接为一张图片并保存

    本文实例为大家分享了python实现两张图片拼接为一张图片并保存的具体代码,供大家参考,具体内容如下 这里主要用Python扩展库pillow中Image对象的paste()方法把两张图片拼接起来 from os import listdir from PIL import Image def pinjie(): # 获取当前文件夹中所有JPG图像 im_list = [Image.open(fn) for fn in listdir() if fn.endswith('.jpg')] # 图片

  • Python 使用PIL numpy 实现拼接图片的示例

    python纵向合并任意多个图片,files是要拼接的文件list # -*- coding:utf-8 -*- def mergeReport(files): from PIL import Image import numpy as np baseimg=Image.open(files[0]) sz = baseimg.size basemat=np.atleast_2d(baseimg) for file in files[1:]: im=Image.open(file) #resize

  • Python实现拼接多张图片的方法

    本文实例讲述了Python实现拼接多张图片的方法.分享给大家供大家参考.具体分析如下:   这里所述计划实现如下操作:   ① 用Latex写原始博文,生成PDF文档; ② 将PDF转成高清的PNG格式的图片; ③ 将多个PNG格式的图片合并成一大张图片; ④ 将最终的大图片直接上传到博文编辑器中 好了,如果将PDF文档转换成其他的图片格式呢?我建议windowns下可用Adobe  Acrobat X Pro软件完成这个工作,操作步骤如下面两图所示.注意在图二中一定要自己指定一个分辨率,不用用

  • python实现多张图片拼接成大图

    本文实例为大家分享了python实现多张图片拼接成大图的具体代码,供大家参考,具体内容如下 上次爬取了马蜂窝的游记图片,并解决了PIL模块的导入问题,现在直奔主题吧: import PIL.Image as Image import os IMAGES_PATH = 'D:\Mafengwo\photo\五月坦桑的暖风,非洲原野的呼唤\\' # 图片集地址 IMAGES_FORMAT = ['.jpg', '.JPG'] # 图片格式 IMAGE_SIZE = 256 # 每张小图片的大小 IM

  • 详解基于python的多张不同宽高图片拼接成大图

    半年前写过一篇将多张图片拼接成大图的博客,是讲的把所有图片先转换为256×256的图片后再进行拼接,今天看到一个朋友的评论说如何拼接非正方形图片,如47×57,之前有个朋友也问过这个,我当时理解错了,以为是要把不同尺寸的照片如32×45.56×75等拼接成大图,当时还纳闷,那不是很难看吗,还得填充非图片元素,emmm,只怪当年太天真.. 于是乎搞了下非方形图片的拼接,上代码: #!/usr/bin/env python # -*- coding:utf-8 -*- import PIL.Imag

  • OpenCV-Python 实现两张图片自动拼接成全景图

    背景介绍 图片的全景拼接如今已不再稀奇,现在的智能摄像机和手机摄像头基本都带有图片自动全景拼接的功能,但是一般都会要求拍摄者保持设备的平稳以及单方向的移动取景以实现较好的拼接结果.这是因为拼接的图片之间必须要有相似的区域以保证拼接结果的准确性和完整性.本文主要简单描述如何用 Python 和 OpenCV 库实现两张图片的自动拼合,首先简单介绍一下两张图片拼接的原理. 基本原理 要实现两张图片的简单拼接,其实只需找出两张图片中相似的点 (至少四个,因为 homography 矩阵的计算需要至少四

  • 在python中实现将一张图片剪切成四份的方法

    如下所示: import cv2 # [1]导入OpenCv开源库 import numpy as np image_path = "F:\\11111111111111111111111111111\\100000.jpg" srcImg = cv2.imread(image_path) # [2]将图片加载到内存 cv2.namedWindow("[srcImg]", cv2.WINDOW_AUTOSIZE) # [3]创建显示窗口 cv2.imshow(&qu

  • Python 实现将大图切片成小图,将小图组合成大图的例子

    训练keras时遇到了一个问题,就是内存不足,将 .fit 改成 .fit_generator以后还是放不下一张图(我的图片是8192×8192的大图==64M).于是解决方法是将大图切成小图,把小图扔去训练,跑出来的图再拼成一个大图 实验发现我的keras(win10 - 16G内存)只放得下最多4副小图(2048×2048×4==16M), 再多就会报错exit : Allocation of 4831838208 exceeds 10% of system memory. 原因大概是除了n

  • Python 多张图片合并成一个pdf的参考示例

    过程 拿到一个需求最重要的就是将大块任务拆分成一个个小模块,逐个击破. 拍照 这一步首先是将所有的书页拍好,需要注意的是要按照书的页码来拍,因为后面的排序是按照文件名进行排序的,拍照的文件名基本上是按照时间生成的,如果拍的时候乱了,到时候生成的 pdf 里面的页码也会乱掉. 用到的Python 操作库 Python 最好的地方就是有大量的第三方库能帮我们快速实现我们想要的方法,搜索到了两个库, PyFPDF 和img2pdf,我们这里选择img2pdf来完成我们的需求 pip install i

  • python列表元素拼接成字符串的4种方法

    目录 前言 一.使用join()方法连接列列表 二.利用for循环连接列表 三.对列表进行切片然后连接 四.使用zip压缩多个列表为一个列表 前言 我们在分析列表数据时,常常需要对列表数据进行输出或多列表关联拼接.直接使用列表,列表中的各元素以逗号分隔,每个元素包含引号.如何连接列表中的元素为一个字符串呢?文章主要介绍python 连接列表元素的4种方法,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下. 一.使用join()方法连接列列表 使用join()方法可将列表中的元素以

  • 基于Python实现合并多张图片转成mp4视频

    目录 前言 一.需要调入的模块 1.imageio模块 2.Image 模块 二.实现合并多张图片转成 mp4 视频 三.优化改进一下 总结 前言 随着现代科技飞速发展和人们提升视觉上体验,利用图片生成视频的方法,确实为工作或者提升生活体验感做了很多成功案例: 1.简单的幻灯片演示,如展示旅游照片.产品展示等: 2.改编图片动画,如口红试色.时尚大片中的效果: 3.制作日记式的视频内容,将一段长时间内的照片串在一起,如婚礼纪实.Baby成长记录等: 4.制作信息图表,如将各种数据图表整合在一起以

  • Python实现多张图片合成文字的效果

    目录 前言 一.图片批量下载 1.下载图片 2.检测图片数量 3.查找相似图片 二.图片马赛克 1.使用photomosaic库实现图片马赛克 2.计算颜色相似度实现图片马赛克 前言 前段时间看到有人问如何使用Python实现多张图片组成文字的效果?觉得还挺有意思,于是尝试做了一下,刚好赶上端午节,所以打算从网上下载1000张王心凌的照片,组成端午安康的字样,给大家送上祝福. 一.图片批量下载 首先我们需要从百度下载大量王心凌的图片,但是如果会去百度图片里一张张右键下载,但这样未免太麻烦了,所以

随机推荐