ORB-SLAM2: fórmula de interpolación de subpíxeles en coincidencia estéreo binocular

Su implementación de código es: 

// Step 4. 亚像素插值, 使用最佳匹配点及其左右相邻点构成抛物线来得到最小sad的亚像素坐标
            // 使用3点拟合抛物线的方式,用极小值代替之前计算的最优是差值
            //    \                 / <- 由视差为14,15,16的相似度拟合的抛物线
            //      .             .(16)
            //         .14     .(15) <- int/uchar最佳视差值
            //              . 
            //           (14.5)<- 真实的视差值
            //   deltaR = 15.5 - 16 = -0.5
            // 公式参考opencv sgbm源码中的亚像素插值公式
            // 或论文<<On Building an Accurate Stereo Matching System on Graphics Hardware>> 公式7

            const float dist1 = vDists[L+bestincR-1];	
            const float dist2 = vDists[L+bestincR];
            const float dist3 = vDists[L+bestincR+1];
            const float deltaR = (dist1-dist3)/(2.0f*(dist1+dist3-2.0f*dist2));

El deltaR aquí es  \Delta x, la fórmula específica es la siguiente:

Interpolación de subpíxeles Interpolación de subpíxeles (valor de paralaje de ajuste de curva cónica)

 La derivación aquí {f}''(x)es la siguiente:

 Es decir, const float deltaR = (dist1-dist3)/(2.0f*(dist1+dist3-2.0f*dist2)); deltaR en la fórmula anterior es cuando h es 1\Delta x

Referencia: [Algoritmo] Análisis conciso del algoritmo OpenCV-SGBM y código fuente_JinSu_'s Blog-CSDN Blog 

Supongo que te gusta

Origin blog.csdn.net/weixin_58045467/article/details/131082749
Recomendado
Clasificación