我试图对一系列照片进行数据分析,并且当所有照片都被更改时#34;从RGB看灰度,看起来很好看:
The standard Astronaut image as my system says it's grayscale
以下是我使用的代码:
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()
我也尝试将hsv转换为rgb然后转换为灰度,但它仍会产生类似的非灰度图像。
答案 0 :(得分:4)
问题是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()
您也可以使用
from skimage import io
io.imshow(img_gray)
将自动处理灰度图像