Main Content

在图窗窗口中显示图像

概述

要显示图像数据,请使用 imshow 函数。以下示例将一个图像读入工作区中,然后使用 imshow 函数在图窗窗口中显示该图像。

moon = imread("moon.tif");
imshow(moon)

Grayscale image in a figure window

您还可以将包含图像的文件的文件名传递给 imshow

imshow("moon.tif");

此语法对于扫描图像非常有用。但是,请注意,当您使用此语法时,imread 不会将图像数据存储在工作区中。如果要将图像放入工作区,必须使用 getimage 函数,该函数从当前图像对象中检索图像数据。如果显示 moon.tif 图像数据的图窗窗口当前处于活动状态,则此示例会将其图像数据赋给变量 moon

moon = getimage;

有关使用 imshow 显示工具箱支持的各种图像类型的详细信息,请参阅Display Different Image Types

指定初始图像放大倍率

默认情况下,imshow 尝试以 100% 的放大倍率显示整个图像(每个图像像素对应一个屏幕像素)。但是,如果图像太大,无法以 100% 的放大倍率显示在屏幕上的图窗窗口中,imshow 会缩放图像以适应屏幕并发出警告消息。

若要覆盖对 imshow 的特定调用的默认初始放大行为,请指定 InitialMagnification 参数。例如,要以 150% 的放大倍率查看图像,请使用以下代码。

pout = imread("pout.tif");
imshow(pout,"InitialMagnification",150)

imshow 尝试遵从您指定的放大倍率。但是,如果图像无法以指定的放大倍率显示在屏幕上,imshow 会将图像缩放至合适的大小。您还可以将 "fit" 指定为初始放大倍率值。在这种情况下,imshow 会缩放图像以适应图窗窗口的当前大小。

要更改 imshow 的默认初始放大行为,请设置 ImshowInitialMagnification 工具箱预设项。要设置预设项,请通过调用 iptprefs 打开 Image Processing Toolbox™“预设项”对话框,或在 MATLAB® 主页选项卡的环境部分中,点击 预设

imshow 缩放图像时,它使用插值来确定与图像矩阵中的元素未直接对应的屏幕像素值。有关指定插值方法的详细信息,请参阅调整图像大小

控制图窗的外观

默认情况下,当 imshow 在图窗中显示图像时,图像周围会有灰色边框。您可以更改此默认值,并使用 "Border" 名称-值参量隐藏边框,如以下示例所示。

imshow("moon.tif","Border","tight")

下面的图窗显示同一个图像,一个带边框,一个不带边框。

Grayscale image in a figure window with a gray border surrounding the image.

"Border" 参量仅影响调用 imshow 时显示的图像。如果您希望用 imshow 显示的所有图像都不带灰色边框,请将 Image Processing Toolbox 的 "ImshowBorder" 预设项设置为 "tight"。您也可以使用预设项设置在图窗中包含可见坐标区。有关预设项的详细信息,请参阅 iptprefs

相关主题