三维重建开源代码汇总【保持更新】

三维重建开源代码汇总,不定期更新。

同步到Github仓库:https://github.com/ethan-li-coding/Source-Codes-3DVison

SFM

MVS

  • openmvs【1.6k stars】【AGPLv3】【https://github.com/cdcseacave/openMVS

    一个多视立体重建开源算法库,基于带有位姿信息的图像集,重建高质量的纹理模型,效果非常出色。

    在这里插入图片描述
  • meshroom【6.5k stars】【MPL2 license】【https://github.com/alicevision/meshroom

    和OpenMVS库一样,也是基于带有位姿信息的图像集,重建高质量的纹理模型,但是效果没有OpenMVS好,速度更快些。带有图形界面,做的很漂亮。

    在这里插入图片描述

SLAM

VSLAM

  • orb-slam2【6.2k stars】【GPLv3 license】【https://github.com/raulmur/ORB_SLAM2

    非常经典的 单目/双目/RGBD-slam 算法库
  • orb-slam3【2.5k stars】【GPLv3 license】【https://github.com/UZ-SLAMLab/ORB_SLAM3

    第一个能够用单目、立体和RGB-D相机,使用针孔和鱼眼镜头模型进行视觉、视觉惯性和多地图SLAM的系统。
    单目 slam
    RGBD slam
    • KinectFusion【280+ stars】【MIT License】【https://github.com/chrdiller/KinectFusionLib

      基于KinectFusion论文实现的一个开源算法,paper:KinectFusion: Real-time dense surface mapping and tracking

    • InfiniTAM∞ v3【680+ stars】【Oxford University Innovation Academic License】【https://github.com/victorprad/InfiniTAM

      牛津大学团队做的开源多平台实时大尺度深度融合和跟踪,速度很快,在Windows、Linux、Ios、Android上都可以编译运行,而且速度都还可以。

      在这里插入图片描述

    • VoxelHashing【460+ stars】【Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License】【https://github.com/niessner/VoxelHashing

      基于TSDF体素融合的经典深度融合算法,有CUDA版本,速度很快。

    • ElasticFusion【1.3k stars】【non-commercial use only】【https://github.com/mp3guy/ElasticFusion

      一个用于RGBD数据的基于Surfel的Fusion算法。适用于室内重建。

      在这里插入图片描述

    • ElasticReconstruction【480+ stars】【MIT license】【https://github.com/qianyizh/ElasticReconstruction

      一个用于RGBD数据的基于Voxel的Fusion算法。适用于室内重建。

      在这里插入图片描述

    • BundleFusion【1k stars】【non-commercial applications】【https://github.com/niessner/BundleFusion

      一个实时的全局一致的三维重建算法库,基于TSDF,效果是目前Fusion中最好的。

      在这里插入图片描述

    • badslam【400+ stars】【BSD-3-Clause License】【CVPR2019】【https://github.com/ETH3D/badslam

      一个基于RGBD数据的实时直接法BA-SLAM算法,适合室外重建,来自苏黎世联邦理工学院(ETH)团队。

      在这里插入图片描述

    • tsdf-fusion 【400+ stars】 【BSD-2-Clause License】【https://github.com/andyzeng/tsdf-fusion

      一个将多个已配准的深度图融合为TSDF体素的算法,TSDF体素可以用于Marching Cubes网格构建

      在这里插入图片描述

特征匹配

立体匹配

点云拼接

网格构建

点云网格处理

  • pcl【6.3k stars】【BSD License】【https://github.com/PointCloudLibrary/pcl

    这大概是使用最广泛的点云处理算法库,你可以用它来显示图片、显示点云,它还实现了非常多的点云处理算法,如点云滤波、点云配准、点云分割等,它的官方网站是https://pointclouds.org/

    在这里插入图片描述
  • OpenMesh【BSD 3 clause license】【https://www.graphics.rwth-aachen.de/software/openmesh/

    非常经典的一个网格处理库,基于半边数据结构,效率很高,且非常稳定,有很多基础网格算法的实现。

    在这里插入图片描述
  • vcglib【560+ stars】【GPLv3.0 License】【http://vcg.isti.cnr.it/vcglib/

    和OpenMesh一样的网格处理基础算法库,也很高效和稳定,比较有名的网格处理软件MeshLib就是用的它。

    在这里插入图片描述

纹理映射

  • mvs-texturing【500+ stars】【BSD 3-Clause License】【https://github.com/nmoehrle/mvs-texturing

    一个用于多视立体重建的纹理映射算法库,OpenMVS、MVE都是使用这个算法来做纹理映射。

    在这里插入图片描述
  • UVAtlas【500+ stars】【MIT License】【https://github.com/microsoft/UVAtlas

    微软开源的一个自动UV展开算法,UV展开可以用于将网格映射到一张二维UV图上,网格映射的纹理就可以用一张UV图来组织,提高纹理图的利用率。

    在这里插入图片描述

三维渲染

  • potree 【2.3k stars】【FreeBSD Licnese】【https://github.com/potree/potree

    一个基于WebGL的大型点云渲染工程,很有意思。

    在这里插入图片描述
  • OpenSceneGraph(OSG)【2.2k stars】【 OpenSceneGraph Public License】【https://github.com/openscenegraph/OpenSceneGraph

    一个非常成熟好用的跨平台三维数据渲染库,渲染包括点云、网格、纹理模型在内的三维数据,适合在大型软件里作为渲染引擎,还可以处理LOD数据。

    在这里插入图片描述
  • Pangolin【1.3k stars】【MIT License】【https://github.com/stevenlovegrove/Pangolin

    一个轻量级的跨平台三维渲染库,可用于slam相关项目的渲染引擎。
### 回答1: 要寻找基于Python的三维重建源代码,可以通过以下途径进行搜索: 1. 使用搜索引擎:如Google、百度等,输入关键词,如"Python 三维重建 源代码",可以获得相关的源项目、代码仓库或论坛帖子等。 2. 源代码托管平台:GitHub是一个非常流行的源代码托管平台,上面拥有大量的源项目。在GitHub上,可以通过搜索功能来查找与三维重建相关的Python源项目。输入关键词,如"3D reconstruction"、"3D scanning"等,并限定语言为Python,可以找到相应的项目。 3. 社区、论坛:加入与三维重建相关的技术社区或论坛,例如,Stanford大学计算机视觉实验室的源社区(https://vision.stanford.edu/opensource/index.html)、OpenCV的官方论坛等。在这些地方可以与同行交流,并获取一些建议、推荐。 4. 参阅相关的论文、教程:在学术搜索引擎(如Google学术)上搜索与三维重建相关的论文,通常这些论文中会提及用到的源代码。此外,还有一些教程、博客会分享一些基于Python的三维重建代码。 在搜索时,需要关注源项目的最近更新时间、文档、用户评价等,以便找到适合自己需求的代码库。另外,在使用源代码时,要注意其许可证要求,确保使用方式符合规范。 ### 回答2: 基于Python的三维重建源代码可以通过以下几种途径来找到: 1. Python源社区:Python拥有活跃的源社区,许多源项目都会在GitHub等平台上发布。你可以在Python源社区的网站、论坛或者社交媒体上搜索相关的关键词,比如“Python三维重建”、“Python点云处理”等,找到相关的项目和代码。 2. GitHub搜索:GitHub是一个代码托管平台,其中有大量的源项目。你可以在GitHub上使用关键词搜索功能,搜索类似于“3D reconstruction”、“point cloud”、“Python”等关键词,找到与三维重建相关的源项目和代码。 3. 学术论文引用:通过学术论文可以了解到最新的三维重建算法和方法,可以在学术搜索引擎(如Google学术、百度学术)上搜索相关的论文,并查看论文中提到的源代码和实现方法。 4. 源工具库:还有一些专门用于三维重建源工具库,比如Open3D、PyntCloud、PyMesh等,它们提供了丰富的三维重建和点云处理功能,可以在它们的官方网站或者GitHub上找到相应的代码和文档。 总之,通过Python源社区、GitHub、学术论文引用和源工具库等方式,你可以找到大量基于Python的三维重建源代码和项目,可以根据自己的需求选择适合自己的代码并进行使用和学习。 ### 回答3: 想要找到基于Python的三维重建源代码,可以进行以下几个步骤: 1. 在代码托管平台上搜索:像GitHub、GitLab、Bitbucket这样的平台是程序员分享和托管代码的地方。登录这些平台,使用搜索功能,输入关键词如“3D reconstruction”,“Python”,“open-source”,可以找到相关的仓库和项目。 2. 使用搜索引擎:在搜索引擎中输入关键词,如“Python 3D reconstruction open source”,会得到很多相关的链接和资源。可以结合阅读相关文档和使用GitHub等平台进行深入了解和选择。 3. 参考学术论文和研究:对于三维重建领域的研究论文,往往会提供相关的源代码或引用源项目。通过查找相关论文,并阅读其中的参考文献,可以找到适合自己需求的源代码。 4. 参与社区和论坛:加入Python发者社区和相关领域的论坛,与其他发者沟通交流,并向他们咨询或寻求建议。其中一些论坛上常常有人提供了三维重建源实现代码。 5. 审查软件和工具的功能:在找到一些候选代码后,要仔细审查其功能是否满足自己的需求。检查文档中是否提供了示例和教程,了解其使用和扩展的潜力。 总之,通过在代码托管平台、搜索引擎、学术论文、社区论坛等渠道进行综合搜索和调研,可以找到基于Python的三维重建源代码,并根据自己的需求和技术背景选择合适的代码库。
评论 41
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值