我正在处理科学图像,其中某些东西被称为“线”,有一系列(n)灰度图像。 我做的是用特定颜色为每条线的图像着色,然后将每条线的相应图像合并在一起(即我将每行的image_0合并为一个图像,然后将每行的image_1合并为一个,依此类推)。 结果是(n)图像的彩色合并序列。
我现在的目标是将这个序列保存到一个tiff文件中,到目前为止我还没有。
def load_image(infilename):
img = Image.open(infilename)
img.load()
data = np.asarray(img, dtype="int32")
return data
def merge_lines_images(lines, colors):
rotations_count = len(lines[0])
layers = []
for rotation in range(0, rotations_count):
images_to_merge = []
for line in lines:
img = load_image(line[rotation])
images_to_merge.append(img)
colored_images = []
for img_index, img in enumerate(images_to_merge):
color = colors[img_index]
r = img * color[0] / 255
g = img * color[1] / 255
b = img * color[2] / 255
rgb = np.dstack((r,g,b))
colored_images.append(rgb)
merged_image = np.zeros(colored_images[0].shape)
for img in colored_images:
merged_image += img
clipped = np.clip(merged_image, 0, 255, out=merged_image)
layers.append(clipped)
如何将“layers”数组保存到一个多层tiff文件中?
非常感谢