使用opencv加载图像,转换为灰度并使用matplotlib进行绘制时,我看到了一个奇怪的地方:
from matplotlib import pyplot as plt
import argparse
import cv2
image = cv2.imread("images/image1.jpg")
image = cv2.cvtColor(image, cv2.COLOR_RGB2GRAY)
plt.imshow(image)
就这么简单。
但是它给出了如下的“灰度”图:
答案 0 :(得分:4)
OpenCV按BGR顺序读取图像,因此您应该转换
image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
第二,您看到的是Matplotlib将图像强度显示为热图。只需将所需的颜色图传递到其cmap
参数
plt.imshow(image, cmap=plt.cm.gray)