我有以下 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 是一个二维矩阵,其中没有颜色,只有“亮度”值。
所以 matplotlib 默认应用颜色图。
阅读this page并尝试应用灰度颜色图或不同的颜色图,检查结果。
plt.imshow(imGray, cmap="gray")
使用this page as reference对于颜色图。一些颜色图无法工作,如果它发生尝试另一个颜色图。
关于image - plt.imshow 在 IPython 中显示灰度图像的彩色图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41265576/