main Content

差距

(不建议)立体声图像之间的差异图

差距不建议。利用DisparityBM或者差异反而。有关更多信息,请参阅兼容性考虑

Description

例子

差异图=差异(I1,,,,i2返回差异图,差异图,对于一对立体图像,I1i2

差异图=差异(I1,,,,i2,,,,名称,价值provides additional control for the disparity algorithm by using one or more名称,价值pair arguments.

Examples

全部收缩

Load the images and convert them to grayscale.

i1 = imread('scene_left.png');i2 = imread('scene_right.png');

显示立体声盲。使用红色圆形立体声眼镜在3-D中查看图像。

图Imshow(立体声词(I1,I2));标题(“立体声图像的红色圆形复合视图”);

图包含一个轴对象。立体声图像的带有标题红色复合视图的轴对象包含类型图像的对象。

计算差异图。

DisparityRange = [-6 10];disparitymap =差异(rgb2gray(i1),rgb2gray(i2),“阻止”,,,,...15,,'DisparityRange',DisparityRange);

显示视差图。为了更好地可视化,请使用视差范围作为IMShow的显示范围。

figure imshow(disparityMap,disparityRange); title(“差异图”);Colormap(GCA,JET)配色杆

图包含一个轴对象。这axes object with title Disparity Map contains an object of type image.

输入参数

全部收缩

输入图像被引用为I1对应于2-D灰度中指定的相机1。立体声图像,I1i2,必须纠正,以使相应的点位于同一行上。您可以使用rectifyStereoImages功能。

您可以通过设置类的类别来提高功能的速度I1i2UINT8,,,,和the number of columns to be divisible by 4. Input imagesI1i2必须是真实的,有限的,也必须是非sparse。他们必须是同一班。

数据类型:UINT8|uint16|int16|单身的|double

输入图像被引用为i2对应于2-D灰度指定的相机2。必须纠正输入图像,以使相应的点位于同一行上。您可以通过设置类的类别来提高功能的速度I1i2UINT8,,,,和the number of columns to be divisible by 4. Input imagesI1i2必须是真实的,有限的,也必须是非sparse。他们必须是同一班。

数据类型:UINT8|uint16|int16|单身的|double

名称值参数

将可选的参数对name1 = value1,...,namen = valuen,,,,where姓名是参数名称和价值is the corresponding value. Name-value arguments must appear after other arguments, but the order of the pairs does not matter.

在R2021a之前,请使用逗号分隔每个名称和值,并附上姓名用引号。

Example:'方法',,,,“阻止匹配”,指定'方法'property be set to“阻止匹配”

差异估计算法,指定为逗号分隔对,由'方法'和“阻止匹配”或者“半球体”。差异函数实现基本块匹配[[1这是给予的和半全球块匹配[3]算法。在里面“阻止匹配”方法,该函数通过比较图像中每个像素块的绝对差异(SAD)的总和来计算差异。在里面“半球体”匹配方法,该函数还迫使相邻块上的类似差异。与此相比“阻止匹配”method.

该算法执行以下步骤:

  1. 通过使用SOBEL滤波器来计算图像的对比度。

  2. 计算每个像素的差异I1

  3. mark elements of the disparity map,差异图,不是可靠地计算出来的。功能使用 -realmax(('单身的')至mark these elements.

差异范围,指定为逗号分隔对,由'DisparityRange'和两元素向量。两元素向量必须处于格式[思想范围,,,,maxdisparity]。Both elements must be an integer and can be negative.思想范围maxdisparity必须在[ -图像宽度,,,,图像宽度]。和...之间的不同maxdisparity思想范围必须分开16DisparityRange必须是真实的,有限的,也必须是非sparse。如果相机曾经采用I1was to the right of the camera used to takei2, 然后思想范围必须是负面的。

差异范围取决于两个摄像机与摄像机与感兴趣对象之间的距离之间的距离。增加DisparityRange当摄像机分开或物体靠近相机时。要确定配置的合理差异图像查看器应用并使用距离工具测量相应点对之间的距离。修改maxdisparity对应于测量。

方块大小,指定为逗号分隔对,由'阻止'和奇怪的整数在范围内[5,255]。此值设置了方块大小的宽度。该函数使用像素的方块进行比较I1i2阻止必须是真实的,有限的,也必须是非sparse。

对比阈值范围,指定为逗号分隔对,由'对比度'和标量值在范围内(0,1)。对比阈值定义了可接受的对比值范围。增加此参数会导致较少的像素被标记为不可靠。对比度必须是真实的,有限的,也必须是非sparse。

minimum value of uniqueness, specified as the comma-separated pair consisting of '唯一思想'和一个非负整数。增加此参数会导致标记更多像素不可靠的函数。当像素的唯一性值较低时,计算出的差异较低。将阈值设置为0禁用唯一性阈值。唯一思想必须是真实的,有限的,也必须是非sparse。

该函数将唯一性定义为最佳差异估计的比率和较小的最佳差异估计。例如:

k成为最好的估计差异,让v成为相应的SAD(绝对差)值。
考虑vas the smallest SAD value over the whole disparity range, andv作为整个差异范围内最小的悲伤价值,不包括k,,,,k-1,和k+1。
如果v<v*((1+0.01*唯一思想),然后该函数将像素的差异标记为不可靠。

两点之间的从左到右图像检查的最大距离,指定为逗号分隔对,由'Distancethreshold'和一个非负整数。增加此参数会导致较少的像素被标记为不可靠。相反,当您降低距离阈值的值时,您会增加差距的可靠性。您可以将此参数设置为空矩阵[[这是给予的至disable it.Distancethreshold必须是真实的,有限的,也必须是非sparse。

距离阈值指定一个点之间的最大距离I1i2。这function finds the distance and marks the pixel in the following way:

p1be a point in image1
步骤1:函数搜索点p1图像中最好的比赛2((left-to-right check) and finds pointp2
Step 2: The function searches forp2图像中最好的比赛1(左转检查)并找到点p3
如果搜索返回p1p3比...更棒Distancethreshold,该功能标志着该点的差异p1as unreliable.

最小纹理阈值,指定为逗号分隔对,由'质地'和标量值在范围内[0,1)。纹理阈值定义了像素可靠的最小纹理值。一个像素块的纹理越低,计算的差异对于像素的可靠性就越小。增加此参数会导致更多像素被标记为不可靠。您可以将此参数设置为0至disable it. This parameter applies only when you set方法“阻止匹配”

像素的纹理定义为在阻止-by-阻止像素周围的窗户。该函数考虑了针对像素不可靠计算的差异,并在纹理降低到定义的值以下时标记为:

质地<X*质地*阻止2

X表示输入图像类别支持的最大值,金宝appI1i2

质地必须是真实的,有限的,也必须是非sparse。

输出参数

全部收缩

一对立体声图像的差异图,返回为m-by-n2-D灰度图像。这function returns the disparity map with the same size as the input images,I1i2。输出的每个元素指定图像引用中相应像素的差异为I1。这returned disparity values are rounded to 1 16 Th Pixel。

该函数分为三个步骤计算差异图:

  1. 通过使用SOBEL滤波器来计算图像的对比度。

  2. 通过使用块匹配和绝对差异的总和(SAD)来计算每个像素的差异。

  3. 可选地,标记包含不可靠的视差值的像素。该函数将像素设置为 - 由 - 返回的值realmax('单身的').

Tips

如果您的结果差异图看起来很吵,请尝试修改DisparityRange。差异范围取决于两个摄像机与摄像机与感兴趣对象之间的距离之间的距离。增加DisparityRange当摄像机分开或物体靠近相机时。要确定配置的合理差异图像查看器应用并使用距离工具测量相应点对之间的距离。修改maxdisparity对应于测量。

References

[1] Konolige,K.,小型视觉系统:硬件和实施,《机器人研究》第八届国际研讨会论文集,第203-212页,1997年。

[2] Bradski,G。和A. Kaehler,学习OPENCV:OPENCV库的计算机视觉,奥莱利,加利福尼亚州塞巴斯托波尔,2008年。

[3] Hirschmuller,H.,通过半全球匹配和相互信息进行准确有效的立体声处理,,,,我nternational Conference on Computer Vision and Pattern Recognition, 2005.

扩展功能

版本历史记录

在R2011b中引入

全部展开

不建议从R2019A开始