Python Image教程有效,其他图像表现不同(用Pylab显示图像)

时间:2015-01-19 18:35:44

标签: python image algorithm matplotlib

我刚刚开始尝试使用Python和图像处理。我遵循了这个结构良好的教程:http://pythonvision.org/basic-tutorial/。教程中的所有内容似乎都能正常工作,并提供了图像(带有单元格的图像)。现在我想尝试输入另一个图像时的行为方式。所以我拍了另一张图片(这篇帖子底部的图片),突然之间的东西表现得与众不同。首先,pylab.show()不会显示图像热图而是显示常规图像,而在没有定义色图时应该给出热图。

作为一个原因,一切都表现得不同,它只识别一个组件(一切都不是白色的)。我错过了什么?输入图像必须是黑白/灰度吗? .jpg和.jpeg很重要吗?

我似乎无法找到问题,我们将不胜感激。

此代码应提供默认的热图视图,但会改为提供常规图像:

dna = mahotas.imread('tools.jpg')
dna = dna.squeeze()

pylab.imshow(dna)
pylab.show()

我尝试使用的图片: enter image description here

1 个答案:

答案 0 :(得分:1)

您输入的图像很可能是三个通道(r,g,b),示例图像是灰度/ 1通道。 Matplotlib将尝试将色彩映射应用于单通道图像,但将按原样渲染三通道。您可以使用scikit-image进行下转换:

from skimage.color import rgb2gray
img_gray = rgb2gray(img)
pylab.imshow(img_gray)

您用于图像处理的库也可能具有这些颜色转换实用程序。