我正在try 使用matplotlib.pyplot.imshow()显示灰度图像.我的问题是灰度图像显示为色彩映射表.我需要灰度,因为我想在图像上画彩色.

我读入图像并使用PIL's Image.open().convert("L")转换为灰度

image = Image.open(file).convert("L")

然后我把图像转换成矩阵,这样我就可以用

matrix = scipy.misc.fromimage(image, 0)

然而,当我

figure()  
matplotlib.pyplot.imshow(matrix)  
show()

它使用彩色贴图显示图像(即,它不是灰度).

我在这里做错了什么?

推荐答案

下面的代码将从文件image.png加载图像,并将其显示为灰度.

import numpy as np
import matplotlib.pyplot as plt
from PIL import Image

fname = 'image.png'
image = Image.open(fname).convert("L")
arr = np.asarray(image)
plt.imshow(arr, cmap='gray', vmin=0, vmax=255)
plt.show()

如果要显示逆灰度,请将cmap切换到cmap='gray_r'.

Python相关问答推荐

在有限数量的唯一字母的长字符串中,找到包含重复不超过k次的所有唯一字母的最长子字符串

如果AST请求默认受csref保护,那么在Django中使用@ system_decorator(csref_protect)的目的是什么?

Matplotlib轮廓线值似乎不对劲

强制venv在bin而不是收件箱文件夹中创建虚拟环境

Image Font生成带有条形码Code 128的条形码时出现枕头错误OSErsor:无法打开资源

在Python中为变量的缺失值创建虚拟值

用gekko解决的ADE方程系统突然不再工作,错误消息异常:@错误:模型文件未找到.& &

Python在tuple上操作不会通过整个单词匹配

如何自动抓取以下CSV

如何在具有重复数据的pandas中对groupby进行总和,同时保留其他列

对Numpy函数进行载体化

在Google Colab中设置Llama-2出现问题-加载判断点碎片时Cell-run失败

为什么带有dropna=False的groupby会阻止后续的MultiIndex.dropna()工作?

如何从具有不同len的列表字典中创建摘要表?

在Python中管理打开对话框

ODE集成中如何终止solve_ivp的无限运行

OR—Tools CP SAT条件约束

基于索引值的Pandas DataFrame条件填充

mypy无法推断类型参数.List和Iterable的区别

如何获取Python synsets列表的第一个内容?