主要内容

disparitySGM

通过半全局匹配计算视差图

描述

例子

disparityMap= disparitySGM (I1I2从一对矫正立体图像计算视差图I1而且I2,采用半全局匹配(SGM)方法。要了解有关校正立体图像的更多信息,请参见形象整改

disparityMap= disparitySGM (I1I2名称,值使用一个或多个名称-值对参数指定选项。

例子

全部折叠

加载校正立体对图像。

I1 = imread(“rectified_left.png”);I2 = imread(“rectified_right.png”);

创建矫正立体对图像的立体浮雕,并显示它。你可以用红青色立体眼镜观看3d图像。

A =立体浮雕(I1,I2);图imshow(A) title(“校正立体对图像的红-青复合视图”

图中包含一个轴对象。axis对象的标题为校正立体对图像的红-青复合视图,其中包含一个类型为image的对象。

将校正后的输入彩色图像转换为灰度图像。

J1 = rgb2gray(I1);J2 = rgb2gray(I2);

通过半全局匹配计算视差图。指定视差的范围为[0,48],唯一性的最小值为20。

disparityRange = [0 48];disparityMap = disparitySGM(J1,J2,“DisparityRange”disparityRange,“UniquenessThreshold”, 20);

显示视差图。设置显示范围为与视差范围相同的值。

图imshow(disparityMap,disparityRange)“差距地图”) colormap飞机colorbar

图中包含一个轴对象。标题为“视差地图”的axes对象包含一个image类型的对象。

输入参数

全部折叠

输入图像引用为I1对应于摄像机1,指定为二维灰度图像或gpuArray(并行计算工具箱)对象。该函数使用该图像作为计算视差图的参考图像。输入图像I1而且I2必须是实的,有限的,非稀疏的。同时,I1而且I2必须具有相同的大小和相同的数据类型。

数据类型:||int16|uint8|uint16

输入图像引用为I2对应于摄像机2,指定为二维灰度图像或gpuArray(并行计算工具箱)对象。输入图像I1而且I2必须是实的,有限的,非稀疏的。I1而且I2必须具有相同的大小和相同的数据类型。

数据类型:||int16|uint8|uint16

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字在报价。

例子:disparitySGM (I1、I2 DisparityRange, 64年[0])

视差范围,指定为逗号分隔的对,由“DisparityRange”和一个形式为[MinDisparityMaxDisparity].MinDisparity最小差距是和吗MaxDisparity是最大视差。

用于输入宽度的图像N,MinDisparity而且MaxDisparity必须为范围为(-NN).两者之间的区别MaxDisparity而且MinDisparity数值必须能被8整除且小于等于128。

视差范围的默认值为128年[0].有关选择视差范围的更多信息,请参见视差选择范围

数据类型:整数

唯一性的最小值,指定为逗号分隔的对,由“UniquenessThreshold”和一个非负整数。

该函数标记估计的视差值K对于不可靠的像素,如果:

v<V××(1 + 0.01UniquenessThreshold),

在哪里V汉明距离是否对应视差值Kv在整个视差范围内,除去KK1,K+ 1。

增加价值UniquenessThreshold导致更多像素的视差值被标记为不可靠。若要禁用唯一性阈值,请将该值设置为0。

输出参数

全部折叠

视差图校正立体对图像,返回为2-D灰度图像或gpuArray对象。该函数返回与输入图像大小相同的视差图I1而且I2.该输出中的每个值都是指立体对图像中共轭像素之间的位移。视差图的计算方法请参见利用半全局匹配计算视差图

数据类型:

更多关于

全部折叠

形象整改

输入图像I1而且I2必须在计算视差图之前纠正。校正确保立体对图像中的对应点在相同的行上。方法可以校正输入的立体声对图像rectifyStereoImages函数。校正和视差图计算的参考图像必须相同。

算法

全部折叠

视差选择范围

视差的范围必须选择,以涵盖最小和最大的水平移动之间的对应像素在校正立体对图像。您可以从立体对图像的立体浮雕中确定大致的水平位移值。计算校正后图像的立体浮雕stereoAnaglyph函数。显示立体浮雕在图像查看器要测量立体对图像中相应点之间的水平位移量,请选择测量距离工具菜单图像查看器.根据测量值选择视差范围的最小和最大视差值。

例如,该图显示校正后的立体对图像的立体浮雕和在立体对图像中相应点之间测量的水平位移值。最小和最大位移值分别计算为8和31。根据这些值,可以选择视差的范围为[0,48]。

利用半全局匹配计算视差图

  1. 计算校正后的立体对图像的普查变换。

  2. 计算经过普查变换的图像中像素之间的汉明距离,得到匹配的代价矩阵。

  3. 利用中给出的半全局匹配方法,从匹配代价矩阵中计算像素级的视差[1]

  4. 可选地,根据不可靠性标记像素UniquenessThreshold名称-值对。该函数将不可靠像素的视差值设置为

参考文献

[1]赫施穆勒,H。“基于半全局匹配和互信息的精确高效立体处理”在IEEE计算机视觉与模式识别会议论文集(CVPR),第807-814页。圣地亚哥,CA: IEEE, 2005。

扩展功能

版本历史

在R2019a中引入