我需要使用带有浮点值的32位tiff文件。这是一个特殊文件,其中包含来自深度测量相机的 4 个带有浮点值的图层。
我已经尝试过imageio
、
tifffile
和
OpenCV
。在
opencv
中,我也设置了属性
flag=cv2.IMREAD_ANYDEPTH
,但没有任何效果。它始终作为 8 位整数导入。有没有办法用Python来做到这一点?我知道它可以在
Matlab
中使用,但我没有许可证。提前致谢,感谢任何帮助!
编辑:示例图像:Edit2:真正的 32 位新示例:
from skimage import io
my_img = io.imread('myimage.tiff')
或者,如果您的 tiff 文件是地理参考图像。你可以使用gdal
from osgeo import gdal
ds = gdal.Open("myimage.tiff")
myarr1 = np.array(ds.GetRasterBand(1).ReadAsArray())
myarr2 = np.array(ds.GetRasterBand(2).ReadAsArray())
myarr3 = np.array(ds.GetRasterBand(3).ReadAsArray())
myimage = np.dstack([myarr1, myarr2, myarr3])