У меня возникает следующая проблема: я сохраняю 16-битные изображения TIFF с помощью микроскопа, и мне нужно их проанализировать. Я хочу сделать это с помощью numpy и matplotlib, но когда я хочу сделать что-то так же просто, как прорисовать изображение зеленым (мне потом придется накладывать другие изображения), он терпит неудачу.
Вот пример, когда я пытаюсь построить изображение либо в виде массива RGB, либо по умолчанию jet
colormap.
import numpy as np
import matplotlib.pyplot as plt
import cv2
imageName = 'image.tif'
# image as luminance
img1 = cv2.imread(imageName,-1)
# image as RGB array
shape = (img1.shape[0], img1.shape[1], 3)
img2 = np.zeros(shape,dtype='uint16')
img2[...,1] += img1
fig = plt.figure(figsize=(20,8))
ax1 = fig.add_subplot(1,2,1)
ax2 = fig.add_subplot(1,2,2)
im1 = ax1.imshow(img1,interpolation='none')
im2 = ax2.imshow(img2,interpolation='none')
fig.show()
Что мне дает следующий рисунок:
Прошу прощения, если вопрос слишком прост, но я понятия не имею, почему именно этот сюжет показывает эти артефакты. Я хотел бы получить зеленый масштаб, что-то вроде того, как выглядит фигура (imageJ также дает нечто похожее на левый сюжет).
Благодарим вас за сотрудничество.