python - 从 Tiff 文件读取浮点值

问题描述 投票:0回答:1

我需要使用带有浮点值的32位tiff文件。这是一个特殊文件,其中包含来自深度测量相机的 4 个带有浮点值的图层。

我已经尝试过

imageio

tifffile
OpenCV
。在
opencv
中,我也设置了属性
flag=cv2.IMREAD_ANYDEPTH
,但没有任何效果。它始终作为 8 位整数导入。

有没有办法用Python来做到这一点?我知道它可以在

Matlab

 中使用,但我没有许可证。

提前致谢,感谢任何帮助!

编辑:示例图像:

https://ufile.io/fn1j2js6

Edit2:真正的 32 位新示例:

https://ufile.io/r17sxo0t

python opencv floating-point tiff 32-bit
1个回答
0
投票
您可以使用 scikit 图像。如果是普通的 tiff 文件

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])
    
© www.soinside.com 2019 - 2024. All rights reserved.