安装
下载地址
- https://github.com/openMVG/openMVG
- 确认src/dependencies中文件夹下文件是否下载成功
git clone --recursive https://github.com/openMVG/openMVG.git
编译(MacOS)
1 |
|
代码分析
/src/openMVG
- MVG和SfM的核心代码库
- image:image数据存储、IO、滤波、采样等
- numeric:基于Eigen库实现矩阵、向量运算,SVD/QR/LU分解
- features:特征提取、描述等
- cameras:定义相机内参和多种畸变模型(多项式、Brown、鱼眼)
- multiview:双视图及多视图的几何解算,包括本质矩阵、基本矩阵、PnP、三角化
- robust_estimatorl:鲁棒估计
- linear programming:线性规划算法,依赖OSI_CLP第三方库
- matching:特征匹配(暴力匹配、cascade、kdtree加速等),剔除误匹配点
- tracks:根据特征匹配结果进行多张图像的位置跟踪
- geometry:定义3D空间位姿及转换
- geodesy:坐标系转换,WGS84、GPS、UTM、ECEF等坐标系转换
- sfm:实现sfm,位姿估计、三角化、BA优化(光束平差法)
/src/openMVG_Samples
- 部分算法示例(利用openMVG库实现),包括相对定向、特征匹配等
- imageData:部分数据,Exif_Test,SceauCastle(相机内参),StanfordMobileVisualSearch
- features_siftPutativeMatches:提取SIFT特征,并进行匹配,结果展示
- features_affine_demo :利用MSER/TBMR进行区域检测 ,将区域归一化到固定尺寸
- features_image_matching:利用Image_describer进行特征提取,匹配
/src/software
- 软件接口,包括SfM及可视化、VO(视觉里程计)、UI等
/src/dependencies
- 依赖库,包括GLFW、OPENEXIF、OSI CLP、CEREAL
/src/third_party
- 底层第三方库,包括eigen、fast、flann、jpeg等