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

Posted Xavier Jiezou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python如何使用matplotlib 库正确的显示灰度图像相关的知识,希望对你有一定的参考价值。

项目场景

我这里有一张名为 camera.jpg 的灰度图像:


使用 matplotlib 库读取并显示:

import matplotlib.pyplot as plt
plt.imshow(plt.imread('camera.jpg'))
plt.show()

显示结果如下:

问题描述

如上图,显示的是绿色的图片,而我这里想让它显示原图的那种黑白色调,怎么实现呢?

原因分析

根据官方文档可知:

matplotlib.pyplot.imshow 有一个 cmap 参数,用该参数来控制图像显示色彩。对于 RGB 或 RGBA 图像忽略该参数,即直接显示原图。而对于单通道的灰度图像,默认色彩是 viridis (绿色)。因此,设置 cmap 参数的值即可正确显示灰度图像,可接受的输入类型为字符串或者 Corlormap 对象。

解决方案

import matplotlib.pyplot as plt
plt.imshow(plt.imread('camera.jpg'), cmap='gray')
plt.show()

或者

import matplotlib.pyplot as plt
plt.imshow(plt.imread('camera.jpg'), plt.cm.gray)
plt.show()

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

Python之神奇的绘图库matplotlib

Matplotlib库(简介)

python如何安装matplotlib模块

如何使用 matplotlib 和 pyplot 正确实现 QThread

python怎么装matplotlib

Python矩阵作图库matplotlib的初级使用