skimage.io.imread返回TIFF导入的不正确尺寸

时间:2015-05-06 22:32:20

标签: python tiff scikit-image

使用skimage.io.imread导入TIFF图像会返回一个形状为(3,M,N)而不是(M,N,3)的数组。

In [1]: im = skimage.io.imread('image.tif')

In [2]: im.shape
Out[2]: (3, 768, 1024)

In [3]: im = skimage.io.imread('image.tif', as_grey = True)

In [4]: im.shape
Out[4]: (3, 768)

In [5]: im = skimage.io.imread('image.tif', flatten = True)

In [6]: im.shape
Out[6]: (3, 768)

1 个答案:

答案 0 :(得分:2)

我认为将此称为imread的扁平化功能中的错误是公平的,因此在那里打开问题可能是合适的。

我不清楚哪个订单是正确的。"性能有所不同。如果循环通过颜色通道,(3,M,N)更快。如果循环遍历行或列,(M,N,3)会更快。但很明显,flattenas_grey无法正确检测尺寸。

这里的解决方法显然很简单,但您也可以查看tifffile,可以通过pip安装,也可以从像conda install -c soft-matter tifffile这样的软物质conda频道安装。