python mahotas.imread读取2D图像为3d

时间:2012-07-01 00:21:15

标签: python image-processing mahotas

我的另一个代码保存了一张图片。该图像是普通的JPG文件。我用imsave保存了它。

现在,当我在另一个代码中阅读它时,它似乎是3d:S

图片为here

和一个简单的代码来读取它:

import mahotas

img = mahotas.imread('d:/normal.jpg')
print img.shape, img.dtype

2 个答案:

答案 0 :(得分:2)

尝试将jpg视为灰度,如下所示:

mahotas.imread('d:/normal.jpg', as_grey = True)

答案 1 :(得分:2)

(mahotas的作者)。

Junuxx的建议是正确的:

mahotas.imread('file.jpg', as_grey=True)

这会读取RGB文件并通过组件的加权平均值将其转换为灰度(它们的加权平均值不同,但使用的是尝试在感知上更准确的典型系数)。

替代方案(我更喜欢)是:

im = mahotas.imread('file.jpg')
im = im[:,:,0]

我假设所有通道都具有相同的值,只使用第一个通道。

相关问题