我正在尝试使用 matplotlib.pyplot.imshow()
显示灰度图像。我的问题是灰度图像显示为颜色图。我需要灰度,因为我想在图像上绘制颜色。
我读入图像并使用 PIL的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'
。
问题内容: 我正在使用aparapi编写Buddhabrot分形生成器。我将其中的OpenCL部分工作了,得到了一个表示每个像素的单维数组。我将最终图像的尺寸作为最终整数,并编写了代码以获取该数组中任意点的索引。我想将其另存为图像,并且尝试将BufferedImage与TYPE_USHORT_GRAY一起使用。这是我到目前为止的内容: 问题是,我不知道将RGB设置为什么。我需要做什么? 问题答案:
以下程序演示如何将彩色图像读取为灰度并使用JavaFX窗口显示。 在这里通过将标志与带有彩色图像路径的字符串一起传递来读取图像。 假定以下是上述程序中指定的输入图像。那么输出结果应该为一个灰色的图片。
问题内容: 我想将具有形状的灰度图像转换为具有形状的3通道图像。使用可以完成工作,但是必须有一个整洁的方法。这是程序中的一段代码,有人可以提示。请指教。 问题答案: 您可以使用它来更简洁地完成此操作:
我正在Eclipse中编写一个使用OpenCV4Android API的Android应用程序。我如何才能轻松地显示图像,仅用于调试?在C语言中,根据OpenCV教程,您可以执行以下操作: 但是Android的JavaAPI似乎在中没有函数。 另外,我想加载灰度图像。在C语言中,根据不在Opencv中工作的imread,您应该: 但是JavaAPI的只有filename参数。
问题内容: 我正在编写一个快速脚本来动态生成绘图。我使用下面的代码(来自Matplotlib文档)作为起点: 我不想将图形显示在GUI上,而是要将图形保存到文件(例如foo.png)中,以便可以在批处理脚本中使用它。我怎么做? 问题答案: 在回答问题后,我想在使用matplotlib.pyplot.savefig时添加一些有用的提示。文件格式可以通过扩展名指定: 将分别给出栅格化或矢量化的输出,这
我有一个关于将我的PNG图像更改为灰度的问题。我想做一个方法,接受byte[]图像作为参数,并作为byte[]返回新修改的灰度图像。 我发现了一些链接,使图像灰度与JPEG图像使用下面的片段。 我的参考资料在下面:我如何使用ImageJ作为单独的Java应用程序的库?https://www.mkyong.com/java/how-to-convert-byte-to-bufferedimage-i