使用 matplotlib 显示灰度 OpenCV 图像

Posted

技术标签:

【中文标题】使用 matplotlib 显示灰度 OpenCV 图像【英文标题】:Show grayscale OpenCV image with matplotlib 【发布时间】:2017-08-30 21:27:42 【问题描述】:

我使用 python 的 opencv3 安装它,由 anaconda 使用: conda install -c menpo opencv3=3.2.0

但是当我用它来将图片转换为灰度时,比如:

import cv2
import matplotlib.pyplot as plt

%matplotlib inline

image = cv2.imread('opencv_logo.png')

image1 = cv2.cvtColor(image, cv2.COLOR_RGB2GRAY)

print (image.shape)
print (image1.shape)

plt.imshow(image1)

我不知道为什么:

我使用 windows + miniconda。 谁能知道为什么并帮助我?谢谢。

【问题讨论】:

其实我不知道你的意思,我就是用的。 image1 = cv2.cvtColor(image, cv2.COLOR_RGB2GRAY) cv2.imshow() 代替 plt.imshow() 给你什么? 【参考方案1】:

您应该在plt.imshow() 中添加另一个参数,以便提及您想要灰度图像。

像这样修改最后一行:plt.imshow(img, cmap='gray')

这样做后,我得到了以下信息:

【讨论】:

@KerwinXiao Yu 也可以尝试使用cv2.imshow()显示

以上是关于使用 matplotlib 显示灰度 OpenCV 图像的主要内容,如果未能解决你的问题,请参考以下文章

Python如何使用matplotlib 库正确的显示灰度图像

opencv-PIL-matplotlib-Skimage-Pytorch图片读取区别与联系

python opencv实现绘制图像的灰度直方图

OpenCV-Python实战(番外篇)——OpenCVNumPy和Matplotlib直方图比较

OpenCV 函数学习04-用 matplotlib 显示图像(plt.imshow)

Qt-OpenCV:如何在 Qt 中显示灰度图像(opencv)