littlebot
Published on 2025-04-16 / 1 Visits
0

【源码】基于Python的三维点云自动构建系统

项目简介

本项目主要用于自动化建制稠密化点云模型。支持以图片(推荐)或视频作为输入,输出包括稠密化点云、特征图、投影深度图、投影色彩图,若配置了mondi - depth还可输出补充深度图。

项目的主要特性和功能

  1. 图像特征提取:借助OpenSfM库对输入图像序列进行特征提取,生成特征点和匹配关系。
  2. 三维重建:利用OpenSfM的三维重建功能,依据特征点和匹配关系构建三维点云模型。
  3. 深度补全:通过OpenMVS库对构建的三维点云进行深度补全,优化深度信息,提升重建质量。
  4. 可视化:提供可视化工具,可展示特征点匹配、三维点云、深度补全结果等处理过程中的结果。

安装使用步骤

前提条件

需安装Ubuntu 18.04或更高版本,配置Python 3.6.9(其他版本未经验证)。

安装依赖库

  1. 复制项目 bash cd 2500 - SFM_Dense
  2. 安装OpenSfm bash cd OpenSfM && git checkout v0.5.1 sudo apt - get install build - essential cmake libatlas - base - dev libatlas - base - dev libgoogle - glog - dev \ libopencv - dev libsuitesparse - dev python3 - pip python3 - dev python3 - numpy python3 - opencv \ python3 - pyproj python3 - scipy python3 - yaml libeigen3 - dev
  3. 安装opengv bash cd .. mkdir source && cd source/ cd opengv && mkdir build && cd build cmake .. -DBUILD_TESTS = OFF -DBUILD_PYTHON = ON -DPYBIND11_PYTHON_VERSION = 3.6 -DPYTHON_INSTALL_DIR = /usr/local/lib/python3.6/dist - packages/ sudo make install
  4. 安装ceres bash cd ../../ curl -L http://ceres - solver.org/ceres - solver - 1.14.0.tar.gz | tar xz cd ./ceres - solver - 1.14.0 && mkdir build - code && cd build - code cmake .. -DCMAKE_C_FLAGS = -fPIC -DCMAKE_CXX_FLAGS = -fPIC -DBUILD_EXAMPLES = OFF -DBUILD_TESTING = OFF sudo make -j8 install
  5. 安装OpenSfM依赖 bash cd OpenSfM sudo apt - get update \ && sudo apt - get install -y \ build - essential \ cmake \ git \ libeigen3 - dev \ libopencv - dev \ libceres - dev \ python3 - dev \ python3 - numpy \ python3 - opencv \ python3 - pip \ python3 - pyproj \ python3 - scipy \ python3 - yaml \ curl pip3 install -r requirements python3 setup.py build
  6. 安装OpenMVS ``bash sudo apt - get update -qq && sudo apt - get install -qq sudo apt - get -y install git cmake libpng - dev libjpeg - dev libtiff - dev libglu1 - mesa - dev main_path=pwd`

git clone https://gitlab.com/libeigen/eigen.git --branch 3.4 mkdir eigen_build && cd eigen_build cmake . ../eigen make && sudo make install cd ..

sudo apt - get -y install libboost - iostreams - dev libboost - program - options - dev libboost - system - dev libboost - serialization - dev sudo apt - get -y install libopencv - dev sudo apt - get -y install libcgal - dev libcgal - qt5 - dev

sudo apt - get -y install libatlas - base - dev libsuitesparse - dev git clone https://ceres - solver.googlesource.com/ceres - solver ceres - solver mkdir ceres_build && cd ceres_build cmake . ../ceres - solver/ -DMINIGLOG = ON -DBUILD_TESTING = OFF -DBUILD_EXAMPLES = OFF make -j2 && sudo make install cd ..

sudo apt - get -y install freeglut3 - dev libglew - dev libglfw3 - dev

cd openMVS && git checkout v2.0.1 && cd .. mkdir openMVS_build && cd openMVS_build cmake . ../openMVS -DCMAKE_BUILD_TYPE = Release -DVCG_ROOT="$main_path/vcglib"

make -j2 && sudo make install `` 安装成功后,找到openMVS_build路径,并将openMVS_build/bin` 添加到环境的PATH中。 7. 安装mondi - python(可选)

运行程序

  1. 将拍摄的照片信息放入 ./inputs/<自定义命名>/images/ 中。
    • 若需要配置opensfm运行参数可编辑根目录下 config_disparity.yamlconfig_video_stream.yaml 文档。
    • 修改根目录下 camera_models.json 中的相机焦距参数。
  2. 在项目根目录下执行 python3 main.py -i <文档路径 inputs/<自定义命名>/ > -c
  3. 等待程序完成。

查看结果

程序运行完成后,可查看生成的一系列文件和文件夹,包含点云数据、深度补全结果、特征点匹配结果等,具体的数据结构和文件组织可参考项目文档。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】