rgb2gray 不工作,创建彩虹图像

JDK*_*JDK 4 python matplotlib scikit-image

我正在尝试对一系列照片进行数据分析,当所有照片都从 RGB “更改”为灰度时,它们就会出现,看起来:

我的系统显示的标准宇航员图像是灰度图像

这是我正在使用的代码:

import matplotlib.pyplot as plt
from skimage.color import rgb2gray
from skimage import data
img = data.astronaut()
img_gray = rgb2gray(img)

plt.imshow(img_gray)
plt.show()
Run Code Online (Sandbox Code Playgroud)

我也尝试将 hsv 转换为 rgb 然后灰度,但它仍然产生类似的非灰度图像。

小智 5

问题是matplotlib显示带有默认颜色图的 2D 图像。将您的代码更改为

import matplotlib.pyplot as plt
from skimage.color import rgb2gray
from skimage import data
img = data.astronaut()
img_gray = rgb2gray(img)

plt.imshow(img_gray, cmap='gray')
plt.show()
Run Code Online (Sandbox Code Playgroud)

你也可以使用

from skimage import io
io.imshow(img_gray)
Run Code Online (Sandbox Code Playgroud)

它将自动处理灰度图像