使用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)
答案 0 :(得分:2)
我认为将此称为imread
的扁平化功能中的错误是公平的,因此在那里打开问题可能是合适的。
我不清楚哪个订单是正确的。"性能有所不同。如果循环通过颜色通道,(3,M,N)更快。如果循环遍历行或列,(M,N,3)会更快。但很明显,flatten
和as_grey
无法正确检测尺寸。
这里的解决方法显然很简单,但您也可以查看tifffile,可以通过pip安装,也可以从像conda install -c soft-matter tifffile
这样的软物质conda频道安装。