三维重建OpenCV+C++(相机标定+对极约束+三角测量) 您所在的位置:网站首页 双目相机三维重建怎么用 三维重建OpenCV+C++(相机标定+对极约束+三角测量)

三维重建OpenCV+C++(相机标定+对极约束+三角测量)

2024-06-27 23:00| 来源: 网络整理| 查看: 265

 

        本篇博客主要讲的是利用opencv 和 C++进行的算法实现和应用,具体原理可以参考《Slam14讲》中的第五讲和第七讲,原理及其推导这里不再展开。

一、相机标定

        相机标定及内部参数获取可以参考之前写的一篇博客的过程和代码:https://blog.csdn.net/qq_41685265/article/details/104149451

 

二、特征点提取与匹配

        关于各特征点描述子的应用可以参考之前写的博客(https://blog.csdn.net/qq_41685265/article/details/104100258),而RANSAC算法的说明和使用可以参考博客(https://blog.csdn.net/qq_41685265/article/details/104111004)

        具体的算法实现也会用到上边的,而且注释比较详细,有基础的可以直接看下边代码注释

 

三、求基础矩阵(对极约束)

        根据对极约束原理求基础矩阵、本质矩阵等等可以参考博客(https://blog.csdn.net/qq_41685265/article/details/104155731)

 

四、三维重建

 

using namespace cv; using namespace std; //归一化平面坐标 Point2d pixel2cam(const Point& p, const Mat& K) { return Point2d ( (p.x - K.at(0, 2)) / K.at(0, 0), (p.y - K.at(1, 2)) / K.at(1, 1) ); } void triangulation( const vector< KeyPoint >& keypoint_1, const vector< KeyPoint >& keypoint_2, const std::vector< DMatch >& matches, const Mat& R, const Mat& t, vector< Point3d >& points) { Mat T1 = (Mat_(3, 4)


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有