主要内容

imshowpair

R2026b

比较图像之间的差异

描述

obj = imshowpair(A,B) 创建一个合成 RGB 图像,以不同色带叠加显示 A 和 B。要选择两个图像的另一种可视化类型,请使用 method 参量。如果 A 和 B 具有不同大小,imshowpair 会在下边缘和右边缘用零填充较小的维度,使两个图像的大小相同。默认情况下,imshowpair 彼此独立地缩放 A 和 B 的强度值。imshowpair 返回一个图像目标 obj。

示例

obj = imshowpair(A,RA,B,RB) 使用 RA 和 RB 中提供的空间参照信息,显示图像 A 和 B 之间的差异。RA 和 RB 是空间参照目标。

示例

obj = imshowpair(___,method) 使用由 method 指定的可视化方法。

示例

obj = imshowpair(___,Name=Value) 支持任何上述语法,且可使用一个或多个 Name=Value 参量指定其他选项。

示例

示例

全部折叠

用两种不同可视化方法("diff" 和 "blend")显示一对灰度图像。

将一个图像加载到工作区中。创建一个应用了旋转偏移的副本。

A = imread("cameraman.tif");
B = imrotate(A,5,"bicubic","crop");

显示 A 和 B 的差异。

imshowpair(A,B,"diff")

Figure contains an axes object. The hidden axes object contains an object of type image.

显示 A 和 B 的混合叠加图。

figure
imshowpair(A,B,"blend",Scaling="joint")

Figure contains an axes object. The hidden axes object contains an object of type image.

读取一个图像。创建一个副本并应用旋转和亮度调整。

A = dicomread("CT-MONO2-16-ankle.dcm");
B = imrotate(A,10,"bicubic","crop");
B = B * 0.2;

在此示例中,我们知道图像 A 和 B 的分辨率为 0.2 mm。使用两个空间参照对象提供此信息。

RA = imref2d(size(A),0.2,0.2);
RB = imref2d(size(B),0.2,0.2);

使用默认方法 ("falsecolor") 显示这些图像,并对每个图像单独应用亮度缩放。指定将成为由 imshowpair 创建的图像对象的父级的坐标区。

figure;
hAx = axes;
imshowpair(A,RA,B,RB,Scaling="independent",Parent=hAx);

Figure contains an axes object. The axes object contains an object of type image.

输入参数

全部折叠

要显示的图像,指定为灰度、真彩色或二值图像。

要显示的图像,指定为灰度、真彩色或二值图像。

关于输入图像的空间参照信息,指定为空间参照目标,属于 imref2d 类。

关于输入图像的空间参照信息,指定为空间参照目标,属于 imref2d 类。

显示组合图像的可视化方法,指定为以下值之一。表中的图像比较了辣椒图像在应用轻微垂直平移前后的情况。

值描述示例展示
"falsecolor"用不同色带叠加 A 和 B。灰色区域表示图像具有相同强度的位置。彩色区域表示图像强度值不同的位置。也可以选择使用 ColorChannels 参量指定显示颜色。该函数将 RGB 图像转换为灰度,然后以假彩色显示。

Original and vertically translated peppers image displayed using the falsecolor method

"blend"使用 alpha 混合叠加 A 和 B。显示的强度是两个图像的均值。

Original and vertically translated peppers image displayed using the blend method

"checkerboard"使用来自 A 和 B 的交替矩形区域显示图像。

Original and vertically translated peppers image displayed using the checkerboard method

"diff"显示 A 和 B 的差异图像。该函数在计算差异图像之前将 RGB 图像转换为灰度图像。

Original and vertically translated peppers image displayed using the difference method

"montage"将 A 和 B 在同一图窗中并排放置。

Original and translated peppers image displayed using the montage method

数据类型: char | string

名称-值参数

全部折叠

将可选参量对组指定为 Name1=Value1,...,NameN=ValueN,其中 Name 是参量名称,Value 是对应的值。名称-值参量必须出现在其他参量之后,但对各个参量对组的顺序没有要求。

示例: Scaling="joint" 将 A 和 B 的强度值作为一个单一数据集一起缩放。

每个输入图像的输出颜色通道,指定为下表中的值之一。当 method 指定为 "falsecolor" 时,此参量仅影响可视化。

[R G B]三元素向量,指定要为哪个图像应用红色、绿色和蓝色通道。R、G 和 B 值必须为 1(应用于第一个输入图像)、2(应用于第二个输入图像)和 0(不应用于任何输入图像)。
"red-cyan"向量 [1 2 2] 的快捷方式,适用于红色/青色立体浮雕。
"green-magenta"向量 [2 1 2] 的快捷方式,这是高对比度选项,非常适合多种颜色色盲患者。

缩放图像时使用的插值方法,指定为以下值之一。

值描述
"nearest"最近邻点插值(默认值)
"bilinear"双线性插值

由 imshowpair 创建的图像对象的父级,指定为坐标区对象。

强度缩放选项,指定为下列值之一。

"independent"彼此独立地缩放 A 和 B 的强度值。
"joint"一起缩放图像中的强度值,就像它们在同一个图像中一样。当您要可视化单模态图像的配准时,如果一个图像包含的填充值在另一个图像的动态范围之外,则此选项会很有用。
"none"无额外缩放。

数据类型: char | string

输出参量

全部折叠

两个图像的可视化,返回为一个图像对象。

提示

  • 使用 imfuse 创建可以保存为文件的合成可视化效果。使用 imshowpair 在屏幕上显示合成可视化效果。

  • 在实时编辑器中,图窗标题可能会截断。要确保整个标题可见,请将父坐标区对象的 PositionContraint 属性设置为 "outerposition"。更新属性值的语句应置于 imshowpair 函数之后,title 函数之前。

    I = imread("peppers.png");
    imshowpair(I,I)
    ax = gca;
    ax.PositionConstraint = "outerposition";
    title("Peppers");
    如果使用 Parent 名称-值参量指定父坐标区,请设置指定的父坐标区对象的 PositionConstraint 属性。有关坐标区位置属性的更多详细信息,请参阅控制坐标区布局。

版本历史记录

在 R2012a 中推出