在Python中将多个图像绘制到tiff文件中

1 投票
1 回答
1851 浏览
提问于 2025-04-21 01:12

我有多张大小相同的图片,想把这些图片放到一个tiff文件里。要求是每一行最多放5个图片,并且图片之间要有一定的水平距离(x距离)和垂直距离(y距离)。这些图片都存放在一个文件夹里,程序需要读取这些图片,然后把它们画到tiff文件上。

我找到了一些有用的资料,感觉离我想要的结果比较接近,链接是http://www.astrobetter.com/plotting-to-a-file-in-python/。不过那篇文章是讲如何把图表绘制到文件里,而我想要的是把图片放到我的tiff文件里。

我该怎么做呢?

1 个回答

2

我觉得你描述的就是这个。这里有一张图片,你可以有很多这样的图片,只要它们的大小都一样。在代码中的图片列表里配置这些值,就可以改变它们的设置。

在这里输入图片描述

这是程序的输出结果:

在这里输入图片描述

下面是代码:

import Image

images = ['image.jpg','image.jpg','image.jpg','image.jpg','image.jpg','image.jpg','image.jpg']

hsize = min(5,len(images))
vsize = (len(images)/5) + 1

print hsize,vsize

vspace = 10
hspace = 10

(h,w) = Image.open(images[0]).size

im = Image.new('RGB',((hsize*(h+hspace)),(vsize*(w+vspace)) ))

for i,filename in enumerate(images):
    imin = Image.open(filename).convert('RGB')
    xpos = i % hsize
    ypos = i / hsize
    print xpos,ypos
    im.paste(imin,(xpos*(h+hspace),ypos*(w+vspace)))
im.save('output.jpg')

撰写回答