我有15个瓷砖或tiff文件的文件夹,我想把它作为一个单一的文件与所有的图像作为一个tiff图像。所有瓷砖应缝合为单个tiff图像。我该怎么做
到目前为止我试过什么
import imageio
import os
path = "path/to/dir"
image_path_list = os.listdir(path)
with imageio.get_writer("new_image.tif") as new_image:
for image_path in image_path_list:
image = imageio.imread(path+image_path)
new_image.append_data(image)
这将另存为tiff文件中的单独图像。我想将所有图像缝合在一起并按如下方式保存:
1,2,3…,15代表瓷砖。需要作为单个图像进行缝合
从你的评论看来,你准备考虑一个非Python的解决方案,所以我在终端中使用<强> IGimeMaGeI/Stand >蒙太奇15幅图像如下:
要演示如何将5幅图像而不是3幅图像进行布局,请添加不同的背景,并以不同方式影响水平和垂直间距,以下是一个变体:
仅供参考,我制作了15个随机着色的块,如下所示:
使用numpy: 此脚本接受图像生成器(以便更快地处理大型图像)。它不会事先检查它们的尺寸。如果图像高度与行高度不匹配,或者行的宽度不同,则该操作将失败
给定一个目录,其中包含15个大小相同的图像
使用PIL(枕头),我最终得到:
让我知道它是否有效
马克·塞切尔在这里建议了一个新版本,希望它更好
更多地按照https://stackoverflow.com/a/68468658/2836621的思路思考
使用.tif图像灰度8位进行测试
修改为RGB et similia添加3个通道:
new_image = np.zeros((3 * h, 3 * w,3)).astype('uint8')
new_image[row * h: (row + 1) * h,col * w: (col + 1) * w,:] = img
最后一个示例是8位灰度图像的函数:
相关问题 更多 >
编程相关推荐