在Python中将多个图像绘制到tiff文件中
我有多张大小相同的图片,想把这些图片放到一个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')