使用sci-kit图像加载图片会在图像中显示错误的颜色

时间:2014-12-17 04:21:50

标签: python image scikit-image

我在使用Python加载图像时遇到问题。以下是我的代码:

from skimage import io
import matplotlib.pyplot as plt

image = io.imread('.tif file was put here')

plt.imshow(image)
plt.show()

在Python 3.4 shell中运行它会导致我的图像出现,但不是处于正常颜色(灰度),而是显示彩虹般的颜色。当我尝试为Lena测试图像运行此代码时,也会发生这种情况:

from scipy import misc
l = misc.lena()
misc.imsave('lena.png', l) # uses the Image module (PIL)

import matplotlib.pyplot as plt
plt.imshow(l)
plt.show()

您可以在此处看到Python显示错误颜色的图像输出:http://imgur.com/SzqrhB2,rSXGQJu。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:2)

imshow()的默认色图是jet(您可以看到默认matplotlib色标列表here)。如果您想要灰度,则必须明确指定:

import matplotlib.cm as cm
plt.imshow(l, cmap=cm.gray)

编辑:为了清晰起见而添加。在两个示例中,图片仅包含强度信息,因此imshow使用其cmap参数。如果他们有完整的RGB(A)信息,cmap将被忽略,图像将根据该信息显示。