Я работаю с научными изображениями, где нечто, называемое «Линия», имеет последовательность (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)
Каксохранить массив «layer» в один многослойный TIFF-файл?
Большое спасибо