我有一张4波段多通道图像(TIF),它是一个无符号的16位图像。我正在使用以下方法:
opencv2
python
我在代码开头做了以下事情:
import cv2
当我使用时,
i = cv2.imread('img.tif')
它正在读取所有的四个带,但作为UINT8。当我使用
i = cv2.imread('img.tif', cv2.CV_16U)
它只读取图像的一个通道。应该怎么做才能读取所有四个16位无符号通道?
我有一张4波段多通道图像(TIF),它是一个无符号的16位图像。我正在使用以下方法:
opencv2
python
import cv2
i = cv2.imread('img.tif')
它正在读取所有的四个带,但作为UINT8。当我使用
i = cv2.imread('img.tif', cv2.CV_16U)
它只读取图像的一个通道。应该怎么做才能读取所有四个16位无符号通道?
cv2.IMREAD_ANYDEPTH
。 文档指出,此标志将:i = cv2.imread('img.tif', flags=cv2.IMREAD_ANYDEPTH)
cv2.IMREAD_UNCHANGED
标志。虽然没有记录,但看起来它也可以起作用。osgeo
中的 GDAL
在读取图像方面表现更好。 - IndianIMREAD_UNCHANGED
标志吗?这对我很有效。 - Aurelius