У меня есть изображения, закодированные в 16-битном формате TIF.Они используют вариант глубины цвета 16 бит, где максимальная интенсивность равна 4096.
Я считаю, что максимальная интенсивность по умолчанию в openCV составляет 65 536, поэтому мое изображение отображается черным с использованием следующего кода.
import cv2
image = cv2.imread("test.tif", -1)
cv2.imshow('tiff', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
print(image)
Я могу использовать vmin
и vmax
в matplotlib
для настройки цветового отображения:
import cv2
import matplotlib.pyplot as plt
image = cv2.imread("test.tif", -1)
plt.imshow(image, cmap="gray", vmin=0, vmax=4096)
plt.show()
Этопоказывает содержимое изображения:
Причина, по которой я хочу придерживаться openCV, заключается в том, что matplotlib
не поддерживает отображение 16-битного RGBimages.
Документация из cv2.imshow
не очень полезна.Существуют ли способы отображения 16-битных изображений с интенсивностью 4096 в Python openCV?
Тестовое изображение test.tif
можно найти здесь .