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

yipeiwu_com5年前Python基础

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 to same width
  sz2 = im.size
  if sz2!=sz:
   im=im.resize((sz[0],round(sz2[0] / sz[0] * sz2[1])),Image.ANTIALIAS)
  mat=np.atleast_2d(im)
  basemat=np.append(basemat,mat,axis=0)
 report_img=Image.fromarray(basemat)
 report_img.save('merge.png')

以上这篇Python 使用PIL numpy 实现拼接图片的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python实现在函数图像上添加文字和标注的方法

python实现在函数图像上添加文字和标注的方法

如下所示: import matplotlib.pyplot as plt import numpy as np from matplotlib import font_manage...

解决Python二维数组赋值问题

解决Python二维数组赋值问题

当我们采用s=[[0]*3]*2初始化一个数组,然后对s[0][0]进行赋值,改变的是第一列所有的值。因为用s = [[0]*3]*2 初始化数组,他表示的是指向这个列表的引用,所以当你...

Python和Ruby中each循环引用变量问题(一个隐秘BUG?)

虽然这个问题我是在 Python 里遇到的,但是用 Ruby 解释起来比较容易一些。在 Ruby 里,遍历一个数组可以有很多种方法,最常用的两种无非是 for 和 each:复制代码 代...

Python编程中的异常处理教程

1、异常简介 从软件方面来说,错误是语法或是逻辑上的,当python检测到一个错误时,解释器就会指出当前流已经无法继续执行下去,这时候就出现了异常。异常分为两个阶段:首先是引起异常发生的...

由浅入深讲解python中的yield与generator

前言 本文将由浅入深详细介绍yield以及generator,包括以下内容:什么generator,生成generator的方法,generator的特点,generator基础及高级应...