openMVG/openMVG

GitHub: openMVG/openMVG

一个专注于多视图几何和运动恢复结构的 C++ 开源库,提供从图像序列进行三维重建的完整算法框架。

Stars: 6365 | Forks: 1710

# OpenMVG (开放多视图几何)

| **许可证** | **文档** | 持续集成 (Linux/MacOs/Windows) | 构建 | 代码质量 | 聊天 | |:-:|:-:|:-:|:-:|:-:|:-:| | [![GitHub license](https://img.shields.io/badge/license-MPL2-blue)](https://github.com/openMVG/openMVG/blob/master/LICENSE) | [![doc](https://img.shields.io/badge/doc-readthedocs-blueviolet)](http://openmvg.readthedocs.org/en/latest)
[Wiki](https://github.com/openMVG/openMVG/wiki) | [![CI](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/99ea34d3f2081801.svg)](https://github.com/openMVG/openMVG/actions/workflows/compile_and_run_test.yml) | [本地/Docker 构建教程 ](https://github.com/openMVG/openMVG/blob/master/BUILD.md)| [![CodeQL](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/ce864f1c7d081802.svg)](https://github.com/openMVG/openMVG/actions/workflows/codeql.yml)
[![CodeFactor](https://www.codefactor.io/repository/github/openmvg/openmvg/badge)](https://www.codefactor.io/repository/github/openmvg/openmvg) | [![Join the chat](https://img.shields.io/badge/chat-on%20gitter-green)](https://gitter.im/openMVG/Lobby) | **我们的使命** - 通过开发 C++ 框架,推广基于图像/摄影测量的 3D 重建技术的认知。 **我们的愿景** - 通过易读且精确的实现,简化最先进和“经典”算法的可复现研究。 **我们的信条** - “保持简单,保持可维护”。 - OpenMVG 的设计初衷是易于阅读、学习、修改和使用。 - 得益于严格的测试驱动开发和示例,该库允许构建可靠的大型系统。 **我们的代码库和流水线** OpenMVG 提供了一个端到端的图像 3D 重建框架,由库、二进制文件和流水线组成。 - **库** 提供了对以下功能的便捷访问:图像处理、特征描述与匹配、特征跟踪、相机模型、多视图几何、鲁棒估计、运动恢复结构 (SfM) 算法等。 - **二进制文件** 解决流水线可能需要的单元任务:场景初始化、特征检测与匹配以及 SfM 重建,将重建的场景导出到其他多视图立体 (MVS) 框架以计算稠密点云或纹理网格。 - **流水线** 通过链接各种二进制文件创建,用于计算图像匹配关系,解决运动恢复结构问题(重建、三角测量、定位)等…… OpenMVG 使用 C++ 开发,可在 Android、iOS、Linux、macOS 和 Windows 上运行。

**教程** - 参见 [Wiki](https://github.com/openMVG/openMVG/wiki) - [OpenMVG 数据结构](https://github.com/openMVG/openMVG/wiki/OpenMVG-data-structures) - [将 OpenMVG 用作库](https://github.com/openMVG/openMVG/blob/develop/BUILD.md#using-openmvg-as-a-third-party-library-dependency-with-cmake) - [在你的图像数据集上使用 OpenMVG](https://github.com/openMVG/openMVG/wiki/OpenMVG-on-your-image-dataset) - ... **更多信息** - [作者](#authors) - [联系](#contact) - [引用](#citations) - [致谢](#acknowledgements) ## 作者 参见 [Authors](https://github.com/openMVG/openMVG/raw/master/AUTHORS) 文本文件 ## 联系方式 openmvg-team[AT]googlegroups.com ## 引用 如果你使用整个库,我们建议引用 `OpenMVG`;如果你只使用子模块(`AContrario Ransac [3], AContrario SfM [1], GlobalSfM [4] or Tracks [2]`),请引用相应的论文: ``` @inproceedings{moulon2016openmvg, title={Open{MVG}: Open multiple view geometry}, author={Moulon, Pierre and Monasse, Pascal and Perrot, Romuald and Marlet, Renaud}, booktitle={International Workshop on Reproducible Research in Pattern Recognition}, pages={60--74}, year={2016}, organization={Springer} } ``` [1] Moulon Pierre, Monasse Pascal and Marlet Renaud. ACCV 2012. [基于反常模型估计的自适应运动恢复结构。](http://hal.archives-ouvertes.fr/index.php?halsid=1n2qdqiv2a0l5eq7qpos9us752&view_this_doc=hal-00769266&version=1) ``` @inproceedings{Moulon2012, doi = {10.1007/978-3-642-37447-0_20}, year = {2012}, publisher = {Springer Berlin Heidelberg}, pages = {257--270}, author = {Pierre Moulon and Pascal Monasse and Renaud Marlet}, title = {Adaptive Structure from Motion with a~Contrario Model Estimation}, booktitle = {Proceedings of the Asian Computer Vision Conference (ACCV 2012)} } ``` [2] Moulon Pierre and Monasse Pascal. CVMP 2012. [快速简便的无序特征跟踪。](http://hal.archives-ouvertes.fr/index.php?halsid=ggdarhl8cv1j6ohq2073eok8q3&view_this_doc=hal-00769267&version=1) ``` @inproceedings{moulon2012unordered, title={Unordered feature tracking made fast and easy}, author={Moulon, Pierre and Monasse, Pascal}, booktitle={CVMP 2012}, pages={1}, year={2012} } ``` [3] Moisan Lionel, Moulon Pierre and Monasse Pascal. IPOL 2012. [图像对的自动单应配准,包含反常异常值剔除。](http://dx.doi.org/10.5201/ipol.2012.mmm-oh) ``` @article{moisan2012automatic, title={Automatic homographic registration of a pair of images, with a contrario elimination of outliers}, author={Moisan, Lionel and Moulon, Pierre and Monasse, Pascal}, journal={Image Processing On Line}, volume={2}, pages={56--73}, year={2012} } ``` [4] Moulon Pierre, Monasse Pascal, and Marlet Renaud. ICCV 2013. [用于鲁棒、精确和可扩展运动恢复结构的相对运动全局融合。](http://imagine.enpc.fr/~moulonp/publis/iccv2013/index.html) ``` @inproceedings{moulon2013global, title={Global fusion of relative motions for robust, accurate and scalable structure from motion}, author={Moulon, Pierre and Monasse, Pascal and Marlet, Renaud}, booktitle={Proceedings of the IEEE International Conference on Computer Vision}, pages={3248--3255}, year={2013} } ``` ## 致谢 openMVG 的作者感谢 libmv 的作者提供了设计 openMVG 的灵感基础。作者还要感谢 [Mikros Image](http://www.mikrosimage.eu/) 和 [LIGM-Imagine 实验室](http://imagine.enpc.fr/) 的支持和授权,使这个库成为一个开源项目。

标签:Bash脚本, C++, MPL2, SfM, SLAM, 三维建模, 三维重建, 图像处理, 多视图几何, 开源库, 搜索引擎爬虫, 摄影测量, 数据擦除, 机器人感知, 特征提取, 相机标定, 算法库, 自动驾驶, 计算机图形学, 计算机视觉, 运动恢复结构