OpenCV 在使用 imread 加载时平铺 TIFF 图像
OpenCV tiling TIFF image on loading with imread
我有一个 32 位 3 波段 TIF 图像,我正尝试使用带有 Python 的 OpenCV 加载它。我特别避免使用 GDAL,因为在 Windows 上安装它对用户不友好,并且此脚本针对 Windows 机器。
当我尝试使用 imread (
img = cv2.imread(file, flags=(cv2.IMREAD_UNCHANGED | cv2.IMREAD_ANYDEPTH))
), 要么写出来要么 imshow 它,3 个波段看起来是平铺的,如下所示:
为了比较,Windows 中的渲染如下所示:
所以从 OS 支持的角度来看应该没有问题。
图像的 GIMP 属性:
有没有办法覆盖这种行为?这有已知的原因吗?
我找到了解决办法。将 tifffile 库与 scikit-image 结合使用,我能够以 OpenCV 可以理解的格式加载我的 TIFF。
因此,我的加载语句变成了:
img = skimage.io.imread(file,plugin='tifffile')
和图像:
我有一个 32 位 3 波段 TIF 图像,我正尝试使用带有 Python 的 OpenCV 加载它。我特别避免使用 GDAL,因为在 Windows 上安装它对用户不友好,并且此脚本针对 Windows 机器。
当我尝试使用 imread (
img = cv2.imread(file, flags=(cv2.IMREAD_UNCHANGED | cv2.IMREAD_ANYDEPTH))
), 要么写出来要么 imshow 它,3 个波段看起来是平铺的,如下所示:
为了比较,Windows 中的渲染如下所示:
图像的 GIMP 属性:
有没有办法覆盖这种行为?这有已知的原因吗?
我找到了解决办法。将 tifffile 库与 scikit-image 结合使用,我能够以 OpenCV 可以理解的格式加载我的 TIFF。
因此,我的加载语句变成了:
img = skimage.io.imread(file,plugin='tifffile')
和图像: