我有以下RGB图像 imRGB
import cv2
import matplotlib.pyplot as plt
#Loading the RGB image
imRGB = cv2.imread('*path*')
imRGB.shape
>>(128L, 128L, 3L)
#plotting
plt.imshow(imRGB)
我将其转换为灰度图像
imGray
imGray = cv2.cvtColor(imRGB, cv2.COLOR_BGR2GRAY)
imGray.shape
>>(128L, 128L)
#plotting
plt.imshow(imGray)
问题:为什么灰度图像
imGray
用彩色显示? 最佳答案
imRGB是3D矩阵(高度x宽度x 3)。
现在,imGray是2D矩阵,其中没有颜色,只有“发光度”值。
因此,matplotlib默认情况下应用了颜色表。
阅读this page并尝试应用灰度色图或其他色图,检查结果。
plt.imshow(imGray, cmap="gray")
使用this page as reference进行颜色映射。某些颜色图无法正常工作,如果发生,请尝试其他颜色图。