Main Content

imshowpair

比较图像之间的差异

说明

示例

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

示例

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

示例

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

示例

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

示例

全部折叠

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

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

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

显示 AB 的差异。

imshowpair(A,B,"diff")

显示 AB 的混合叠加图。

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

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

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

在此示例中,我们知道图像 AB 的分辨率为 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);

输入参数

全部折叠

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

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

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

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

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

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

Original and vertically translated peppers image displayed using the falsecolor method

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

Original and vertically translated peppers image displayed using the blend method

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

Original and vertically translated peppers image displayed using the checkerboard method

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

Original and vertically translated peppers image displayed using the difference method

"montage"AB 在同一图窗中并排放置。

Original and translated peppers image displayed using the montage method

数据类型: char | string

名称-值参数

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

如果使用的是 R2021a 之前的版本,请使用逗号分隔每个名称和值,并用引号将 Name 引起来。

示例: "Scaling","joint"AB 的强度值作为一个单一数据集一起缩放。

每个输入图像的输出颜色通道,指定为下表中的值之一。当 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"彼此独立地缩放 AB 的强度值。
"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 中推出