Scikit Image - 显示图像

显示或可视化图像在图像处理和计算机视觉任务中起着至关重要的作用。在执行图像处理操作(例如裁剪、调整大小、旋转或应用各种滤镜)时,需要可视化图像。

显示图像是指在屏幕或其他输出设备上可视化或呈现数字图像的过程。它使我们能够以可视格式查看和解释图像的内容。

在 scikit-image 库中,io 模块提供了 imshow() 和 show() 等函数,用于在屏幕上显示图像。这些函数对于显示图像处理操作的结果很有用。

使用 io.imshow() 方法

skimage.io.imshow() 方法用于显示图像。它打开一个窗口并使用指定或默认的图像插件显示图像。以下是此方法的语法和参数 −

skimage.io.imshow(arr, plugin=None, **plugin_args)

以下是此函数的参数 −

  • arr − 一个 ndarray 或一个表示图像数据或图像文件名称的字符串。
  • plugin − 一个指定要使用的插件名称的字符串。如果未提供,该函数将尝试从可用选项中找到合适的插件,以 "imageio"开头。
  • **plugin_args −传递给所选插件的附加关键字参数。

示例

以下示例将使用默认图像插件显示图像。

from skimage import io

# 使用图像名称显示图像
io.imshow('Images/logo-w.png')

输出

运行上述代码将得到以下结果 −

<matplotlib.image.AxesImage at 0x20980099d30 >
Dispaly Images

使用 io.show() 方法

skimage.io.show() 函数用于显示 scikit-image 中的待处理图像。它启动当前 GUI 插件的事件循环,并使用 imshow() 函数显示已排队等待显示的所有图像。这在使用非交互式脚本时特别有用。以下是此方法的语法 −

skimage.io.show()

注意,如果您在交互式环境中工作,例如 Jupyter Notebook 或交互式 Python shell,您可以简单地使用 imshow() 来显示图像。但是,如果您正在运行非交互式脚本,最好在末尾包含 show(),以确保在脚本终止之前显示所有图像。

示例 1

以下示例将使用 imshow() 和 show() 方法显示图像。

from skimage import io

# 从 URL 读取图像
image = io.imread('https://www.tutorialspoint.com/images/logo.png')
# 显示图像
io.imshow(image)
io.show()

输出

运行上述代码将得到以下结果 −

Dispaly Images

示例 2

以下示例将使用 imshow() 和 show() 方法显示 2 幅图像。

from skimage import io
import numpy as np
import time

image1 = np.random.randint(0, 256, size=(50, 50, 3), dtype=np.uint8)
image2 = np.random.randint(0, 256, size=(50, 50), dtype=np.uint8)
# 显示image1
io.imshow(image1)
io.show()
# 显示 image2
io.imshow(image2)
io.show()

输出

上述程序生成以下输出 −

Dispaly Images

以下是第二张图片 −

Dispaly Images