我正在科学地使用显微镜中的图像,其中3个RGB通道中的每一个都被编码为uint16(0-65536).目前我使用OpenCV2和NumPy来处理图像,并使用标志"cv2.IMREAD_UNCHANGED"一切都可以正常阅读,我可以对图像做一些工作并将其返回到uint16,
img = cv2.imread('dummy.tif',cv2.IMREAD_UNCHANGED )
#do some work here
img = img.astype(numpy.uint16)
cv2.imwrite('processed.tif',img )
Run Code Online (Sandbox Code Playgroud)
但是,到目前为止,我似乎无法找到任何方法将处理后的图像再次保存为16位RGB.使用cv2.imwrite命令只需将图像转换为uint8,从而将所有内容都变为白色(即,所有内容都被截断为255,uint8通道的最大值).
知道怎么办吗?