首页  >  文章  >  后端开发  >  如何使用 Matplotlib.pyplot.imshow() 正确显示灰度图像?

如何使用 Matplotlib.pyplot.imshow() 正确显示灰度图像?

Barbara Streisand
Barbara Streisand原创
2024-11-04 06:44:29165浏览

How do I Display a Grayscale Image Correctly with Matplotlib.pyplot.imshow()?

使用 Matplotlib 实现灰度图像显示

尝试使用 matplotlib.pyplot.imshow() 显示灰度图像时,用户可能会遇到困难导致图像显示为颜色图。要解决这个问题,了解灰度图像转换的正确步骤至关重要。

在本例中,用户已加载图像并使用 PIL 的 Image.open().convert("L “) 功能。但是,随后使用 scipy.misc.fromimage() 转换为矩阵引入了不必要的步骤,并可能损坏图像的灰度表示。

要正确显示灰度图像,请按照以下步骤操作:

  1. 导入必要的库:用于数值运算的 numpy 和用于图像绘制的 matplotlib.pyplot。
  2. 使用 PIL 的 Image.open() 加载图像。
  3. 使用以下命令将图像转换为灰度Convert("L").
  4. 使用 np.asarray() 将灰度图像转换为 NumPy 数组。
  5. 使用 matplotlib.pyplot.imshow() 显示灰度图像。确保指定 cmap='gray' 以强制执行灰度表示。

以下是示例代码:

<code class="python">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()</code>

或者,要显示反灰度,请将 cmap 参数切换为'gray_r'。

以上是如何使用 Matplotlib.pyplot.imshow() 正确显示灰度图像?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn