立体视觉-计算视差
一、窗口代价计算视差的原理及步骤
1、匹配代价计算
匹配代价计算是整个立体匹配算法的基础,实际是对不同视差下进行灰度相似性测量。常见的方法有灰度差的平方SD(squared intensity differences),灰度差的绝对值AD(absolute intensity differences)等。另外,在求原始匹配代价时可以设定一个上限值,来减弱叠加过程中的误匹配的影响。以AD法求匹配代价为例,可用下式进行计算,其中T为设定的阈值。
2、匹配代价叠加
一般来说,全局算法基于原始匹配代价进行后续算法计算。而区域算法则需要通过窗口叠加来增强匹配代价的可靠性。本次实验采用NCC视差匹配方法.
3、视差获取
对于区域算法来说,在完成匹配代价的叠加以后,视差的获取就很容易了,只需在一定范围内选取叠加匹配代价最优的点NCC取最大值作为对应匹配点。完成匹配后,我们需要记录其视差d,即待测像素水平方向xl与匹配像素水平方向xr之间的差值d = xr - xl,最终我们可以得到一个与原始图像尺寸相同的视差图D。
二、实验过程
2.1、原图
由于自己拍摄的场景图测试效果很差,因此选取网上的测试图片作为本次实验的数据。
左图
右图
2.2、wid=3
2.3、wid=6
2.4、wid=9
2.5、wid=12
2.6、wid=15
三、实验分析与小结
对多种窗口值的结果对比得知,当窗口值过小时,出现误匹配的情况,图片色块杂乱,像素点非常密集。随着窗口值的升高,误匹配的情况在逐渐减少,图像轮廓逐渐平滑。但是当窗口值过大的时候,结果变得不清晰。因此窗口值设置的不能太高也不能太低。