1、实验需求
- 从理论角度,分析以窗口代价计算视差的原理
- 实现NCC 视差匹配方法,即给定左右两张视图,根据NCC计算视差图
- 分析不同窗口值对匹配结果的影响,重点考查那些点(或者哪些类型的点)在不同窗口大小下的匹配精度影响
2、语言和平台
语言:python2.7.13 (anaconda2)
平台:pycharm 2018.2
3、实验原理
计算视差图
在该立体重建算法中,我们将对于每个像素尝试不同的偏移,并按照局部图像周围归一化的互相关值,选择具有最好分数的偏移,然后记录下该最佳偏移。因为每个偏移在某种程度上对应于一个平面,所以该过程有时称为扫平面法。虽然该方法并不是立体重建中最好的方法,但是非常简单,通常会得出令人满意的结果。
当密集地应用在图像中时,归一化的互相关值可以很快地计算出来。我们使用每个像素周围的图像块(根本上说,是局部周边图像)来计算归一化的互相关。对于这里的情形,我们可以在像素周围重新写出公式(2.3)中的 ncc,如下所示
n c c ( p , d ) = ∑ ( x , y ) ∈ W p ( I 1 ( x , y ) − I 1 ‾ ( p x , p y ) ) ( I 2 ( x + d , y ) − I 2 ‾ ( p x + d , p y ) ) ∑ ( x , y ) ∈ W p ( I 1 ( x , y ) − I 1 ‾ ( p x , p y ) ) 2 ∑ ( x , y ) ∈ W p ( I 2 ( x + d , y ) − I 2 ‾ ( p x + d , p y ) ) 2 ncc(p,d)=\frac {\sum_{(x,y)∈W_p}^{} {(I_1(x,y)-\overline{I_1}(p_x,p_y))(I_2(x+d,y)-\overline{I_2}(p_x+d,p_y))}} {\sqrt {\sum_{(x,y)∈W_p}^{} {(I_1(x,y)-\overline{I_1}(p_x,p_y))^2}\sum_{(x,y)∈W_p}^{} {(I_2(x+d,y)-\overline{I_2}(p_x+d,p_y))^2}}} ncc(p,d)=∑(x,y)∈Wp(I1(x,y)−I1(px,