#代码如下,实现了,但是结果可能是错误的,这不是我想要的灰度,有人会帮我解决,这看起来很简单,但是我只是不知道错在哪里>
导入cv2 导入matplotlib.pyplot作为plt 将numpy导入为np 导入matplotlib.image作为mpimg img = cv2.imread('calibration_test.png')
# i want simply convert the rgb image to grayscale and then print it out
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
plt.imshow(gray)
print(gray.shape)
# but the outcome is a colorful image
答案 0 :(得分:3)
灰度转换正确完成。问题在于您如何显示图像。试试这个:
plt.imshow(gray, cmap='gray')
默认情况下,imshow
将其自己的颜色键添加到单通道图像中,以使其更易于查看。一个典型的例子是热图像,通常显示蓝色和红色,但是所有颜色仅取决于一个通道。
希望这会有所帮助!