我有一张由我的另一个代码保存的图像。图像是一个普通的 JPG 文件。我用imsave保存了它。
现在当我在另一个代码中阅读它时,它似乎是 3d :S
图片在这里。
和一个简单的代码来阅读它是这样的:
import mahotas
img = mahotas.imread('d:/normal.jpg')
print img.shape, img.dtype
我有一张由我的另一个代码保存的图像。图像是一个普通的 JPG 文件。我用imsave保存了它。
现在当我在另一个代码中阅读它时,它似乎是 3d :S
图片在这里。
和一个简单的代码来阅读它是这样的:
import mahotas
img = mahotas.imread('d:/normal.jpg')
print img.shape, img.dtype
尝试像这样将 jpg 读取为灰度:
mahotas.imread('d:/normal.jpg', as_grey = True)
(这里是 mahotas 的作者)。
Junuxx 的建议是正确的:
mahotas.imread('file.jpg', as_grey=True)
这会读取 RGB 文件并通过分量的加权平均值将其转换为灰度(它们的权重不同,但使用试图在感知上更准确的典型系数)。
另一种选择(我更喜欢)是:
im = mahotas.imread('file.jpg')
im = im[:,:,0]
我假设所有通道都具有相同的值,并且只使用第一个。