项目场景

我这里有一张名为 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()
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐