我刚刚开始尝试使用Python和图像处理。我遵循了这个结构良好的教程:http://pythonvision.org/basic-tutorial/。教程中的所有内容似乎都能正常工作,并提供了图像(带有单元格的图像)。现在我想尝试输入另一个图像时的行为方式。所以我拍了另一张图片(这篇帖子底部的图片),突然之间的东西表现得与众不同。首先,pylab.show()
不会显示图像热图而是显示常规图像,而在没有定义色图时应该给出热图。
作为一个原因,一切都表现得不同,它只识别一个组件(一切都不是白色的)。我错过了什么?输入图像必须是黑白/灰度吗? .jpg和.jpeg很重要吗?
我似乎无法找到问题,我们将不胜感激。
此代码应提供默认的热图视图,但会改为提供常规图像:
dna = mahotas.imread('tools.jpg')
dna = dna.squeeze()
pylab.imshow(dna)
pylab.show()
我尝试使用的图片:
答案 0 :(得分:1)
您输入的图像很可能是三个通道(r,g,b),示例图像是灰度/ 1通道。 Matplotlib将尝试将色彩映射应用于单通道图像,但将按原样渲染三通道。您可以使用scikit-image进行下转换:
from skimage.color import rgb2gray
img_gray = rgb2gray(img)
pylab.imshow(img_gray)
您用于图像处理的库也可能具有这些颜色转换实用程序。