我有以灰度16位tiff格式编码的图像。它们使用一种16位色深的变体,其中最大强度为4,096。
我认为openCV中默认的最大强度是65,536,所以我的图像在使用以下代码时呈现为黑色。
import cv2
image = cv2.imread("test.tif", -1)
cv2.imshow('tiff', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
print(image)
我可以使用matplotlib
中的vmin
和vmax
来配置颜色映射:
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位RGB图像。
cv2.imshow
的文档并不是很有用。有没有办法在Python OpenCV中显示16位4096强度图像?
测试图像test.tif
可以在这里找到。
cv2.equalizeHist
应该可以。 - jodiscv2.normalize
- jodis