主权项 |
一种基于FPGA的立体匹配方法,其特征在于,包括以下步骤:步骤一、对左右摄像机获得的原始图像I<sub>L0</sub>(i,j)和I<sub>R0</sub>(i,j)进行滤波处理去除传感器所引入的高斯白噪声干扰,获得预处理后的左图像I<sub>L</sub>(i,j)和右图像I<sub>R</sub>(i,j);步骤二、使用左图像I<sub>L</sub>(i,j)的相机变换矩阵H<sub>L</sub>和右图像I<sub>R</sub>(i,j)的相机变换矩阵H<sub>R</sub>分别对预处理后的左图像I<sub>L</sub>(i,j)和右图像I<sub>R</sub>(i,j)进行图像矫正,获得匹配点在同一行上的左右两幅图;步骤三、同时以相同的方法分别以左图为基准计算右图相对于左图的视差值以及以右图为基准计算左图相对于右图的视差值,所述相同的方法为:采用FPGA流水线结构,对图像矫正后行对齐的左右两幅图像先进行SAD列匹配,然后进行SAD行匹配,获取每个像素点在视差d∈[d<sub>min</sub>,d<sub>max</sub>]范围内的行列匹配值,最小的行列匹配值即为该像素点的视差值,所述SAD匹配算法采用积分图的方式;步骤四、将步骤三获得的右图相对于左图的视差值和左图相对于右图的视差值代入公式(1)中进行左右一致性校验,若公式(1)成立则将该视差值作为最终的视差结果输出,若公式(1)不成立则,则用该像素点的视差邻域内的中值代替该像素点的视差值,|e(i,j)‑e'(i,j)|<Th (1)式(1)中,e(i,j)为步骤三获得的右图相对于左图在像素点(i,j)坐标下的视差值,e'(i,j)为左图相对于右图在像素点(i,j)坐标下的视差值,Th为判定阈值。 |