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

【Python】如何使用matplotlib 库正确的显示灰度图像,第1张

项目场景

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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/langs/735300.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-27
下一篇 2022-04-27

发表评论

登录后才能评论

评论列表(0条)

保存