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')

和图像: