我有一个4波段多声道图像(TIF),它是一个无符号的16位图像。我使用以下内容:
opencv2
python
我在代码的开头做了以下内容
import cv2
当我使用
时 i = cv2.imread('img.tif')
它正在读取所有四个乐队但是作为UINT8。当我使用
i = cv2.imread('img.tif', cv2.CV_16U)
它只读取图像的一个通道。如何读取16位无符号的所有四个通道?
答案 0 :(得分:1)
尝试传递旗帜cv2.IMREAD_ANYDEPTH
。 documentation表示此标志将:
如果设置,当输入具有相应深度时返回16位/ 32位图像,否则将其转换为8位。
i = cv2.imread('img.tif', flags=cv2.IMREAD_ANYDEPTH)
如果不起作用,请尝试使用cv2.IMREAD_UNCHANGED
标志。它没有记录,但看起来它也可能有用。