主要内容

disparitysgm.

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

描述

例子

disparitymap.= disparitysgm(I1I2从一对整流的立体图像计算差异映射I1I2,通过使用半全局匹配(SGM)方法。了解更多关于纠正立体声图像,请参阅图像整流

disparitymap.= disparitysgm(I1I2名称,价值使用一个或多个名称值对参数指定选项。

例子

全部收缩

加载纠正的立体对图像。

i1 = imread('rectized_left.png');i2 = imread('rectized_right.png');

创建纠正的立体声对图像的立体声,并显示它。您可以使用红云立体声眼镜在3-D中查看图像。

a =立体榕节(i1,i2);图imshow(a)标题('纠正立体声对图像的红云复合视图'

图包含轴。具有纠正立体对图像的标题红云复合视图的轴包含类型图像的对象。

将整流的输入颜色图像转换为灰度图像。

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

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

dissarityrange = [0 48];dissaritymap = disparitysgm(J1,J2,'disparityrange',disparityrange,'唯一性察觉'20);

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

数字imshow(DisparityMap,DisparityRange)标题('差异地图')ColorMap.喷射彩色栏

图包含轴。具有标题差异图的轴包含类型图像的对象。

输入参数

全部收缩

输入图像引用为I1对应于相机1,指定为2-D灰度图像或aGPUArray.(并行计算工具箱)目的。该函数使用此图像作为用于计算视差图的参考图像。输入映像I1I2必须是真实的,有限的和非问题。还,I1I2必须具有相同的大小和相同的数据类型。

数据类型:单身的|双倍的|int16|uint8.|uint16

输入图像引用为I2对应于相机2,指定为2-D灰度图像或aGPUArray.(并行计算工具箱)目的。输入映像I1I2必须是真实的,有限的和非问题。I1I2必须具有相同的大小和相同的数据类型。

数据类型:单身的|双倍的|int16|uint8.|uint16

名称值对参数

指定可选的逗号分离对名称,价值论点。名称是参数名称和价值是相应的价值。名称必须出现在引号内。您可以以任何顺序指定多个名称和值对参数name1,value1,...,namen,valuen

例子:Disparitysgm(I1,I2,'DisparityRange',[0 64])

差距范围,指定为逗号分隔对组成'disparityrange'和表格的两个元素矢量[思维思考maxdisparity.]。思维思考是最低差异和maxdisparity.是最大的差异。

用于宽度的输入图像N., 这思维思考maxdisparity.必须是范围的整数( -N.N.)。之间的差异maxdisparity.思维思考值必须可分解8并且必须小于或等于128。

差异范围的默认值是[0 128]。有关选择差异范围的更多信息,请参阅选择差异范围

数据类型:整数

唯一性的最小值,指定为逗号分隔对组成'唯一性察觉'和一个非负整数。

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

V.<V.×(1 + 0.01×唯一性察觉),

在哪里V.是与视差值相对应的汉明距离K.V.是整个视差范围内最小的汉明距离值,不包括K.K.-1,和K.+1。

增加价值唯一性察觉导致差异值,以便更多像素被标记为不可靠。要禁用唯一度阈值,请将此值设置为0。

输出参数

全部收缩

纠正立体声对图像的差异图,返回为2-D灰度图像或aGPUArray.目的。该函数以与输入图像相同的大小返回视差图I1I2。该输出中的每个值是指立体对图像中的共轭像素之间的位移。有关计算视差地图的详细信息,请参阅使用半全局匹配计算视差地图

数据类型:单身的

更多关于

全部收缩

图像整流

输入映像I1I2必须在计算视差图之前纠正。整流确保立体对图像中的对应点处于同一行。您可以使用纠正输入立体声对图像rectifyStereoImages.功能。参考图像必须是相同的,用于整流和视差地图计算。

算法

全部收缩

选择差异范围

必须选择视差范围以覆盖整流立体对图像中的相应像素之间的最小和最大水平偏移量。您可以从立体声对图像的立体声anaglyph确定近似水平移位值。通过使用通过使用纠正图像的立体声anaglyph立体榕节功能。通过使用使用的显示图像查看器的立体声anaglyphImtool.功能。测量立体对图像中对应点之间的水平移位量,选择测量距离来自工具在图像查看器中的菜单。根据该测量选择差距范围的最小和最大视差值。

例如,该图显示整流立体对图像的立体声图,以及在立体对图像中的对应点之间测量的水平移位值。最小和最大移位值分别计算为8和31。基于这些值,可以选择视差范围作为[0,48]。

使用半全局匹配计算视差地图

  1. 计算整流立体声对图像的人口普查变换。

  2. 计算人口普查变换图像中的像素之间的汉明距离以获得匹配成本矩阵。

  3. 通过使用给出的半全局匹配方法计算从匹配成本矩阵的像素 - 方向视差[1]

  4. 可选地,根据基于的标记为不可靠性的像素唯一性察觉名称值对。该函数设置不可靠像素的视差值

参考

[1] Hirschmuller,H“通过半全球匹配和相互信息准确和高效的立体声处理。”在计算机愿景和模式识别的IEEE会议的诉讼程序(CVPR),pp。807-814。圣地亚哥,加利福尼亚州:IEEE,2005。

扩展能力

在R2019A介绍