<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          實戰(zhàn) | 手把手教你跑三維重建代碼!

          共 3991字,需瀏覽 8分鐘

           ·

          2021-04-19 16:49

          點擊上方AI算法與圖像處理”,選擇加"星標"或“置頂”

          重磅干貨,第一時間送達

          OpenMVS是三維重建的一個成熟開源框架,綜合重建效果和性能,該算法是目前MVS(Multi-View Stereo)相關(guān)的所有開源庫中最好的一個。該算法的框架如下所示

          用OpenMVS重建的結(jié)果如下所示:

          計算機視覺life對該代碼進行了詳細注釋(持續(xù)更新), 歡迎star,代碼地址:

          https://github.com/electech6/openMVS_comments

          想要得到上述的重建結(jié)果,那么如何編譯運行OpenMVS源碼呢?下面是詳細教程:

          依賴項

          OpenMVS 依賴的幾個開源庫,有兩個是可選的可以先不安裝.

          • Eigen version 3.2 (or higher on Windows only)
          • OpenCV version 2.4 or higher
          • Ceres version 1.10 or higher (可選)
          • CGAL version 4.2 or higher
          • Boost version 1.56 or higher
          • VCG
          • GLFW(可選)

          安裝說明

          工具:

          • CMake
          • git
          • C/C++ compiler like Visual Studio or GCC

          Linux 編譯

          Ubuntu 16.04

          #準備一個空閑的機器安裝:
          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

          #安裝Eigen (必需)
          git clone https://gitlab.com/libeigen/eigen.git --branch 3.2
          mkdir eigen_build && cd eigen_build
          cmake . ../eigen
          make && sudo make install
          cd ..

          #安裝Boost (必需)
          sudo apt-get -y install libboost-iostreams-dev libboost-program-options-dev libboost-system-dev libboost-serialization-dev

          #安裝OpenCV (必需)
          sudo apt-get -y install libopencv-dev

          #安裝CGAL (必需)
          sudo apt-get -y install libcgal-dev libcgal-qt5-dev

          #安裝VCGLib (必需)
          git clone https://github.com/cdcseacave/VCG.git vcglib

          #安裝Ceres (可選)
          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 ..

          #安裝GLFW3 (可選)
          sudo apt-get -y install freeglut3-dev libglew-dev libglfw3-dev

          #安裝OpenMVS
          git clone https://github.com/electech6/openMVS_comments.git openMVS
          mkdir openMVS_build && cd openMVS_build
          cmake . ../openMVS -DCMAKE_BUILD_TYPE=Release -DVCG_ROOT="/path to vcglib/vcglib"

          #如果想生成共享庫,可以在cmake加如下命令:
          #-DBUILD_SHARED_LIBS=ON

          #生成 OpenMVS 庫文件:
          sudo make -j2 && sudo make install

          可能存在的編譯問題

          1. opencv中部分函數(shù)未定義

            先卸載:

            sudo apt-get autoremove opencv-doc opencv-data libopencv-dev libopencv2.4-java libopencv2.4-jni python-opencv libopencv-core2.4 libopencv-gpu2.4 libopencv-ts2.4 libopencv-photo2.4 libopencv-contrib2.4 libopencv-imgproc2.4 libopencv-superres2.4 libopencv-stitching2.4 libopencv-ocl2.4 libopencv-legacy2.4 libopencv-ml2.4 libopencv-video2.4 libopencv-videostab2.4 libopencv-objdetect2.4 libopencv-calib3d2.4

            再源碼安裝,可以安裝比如4.1.1版本。

          2. boost報錯

            解決方法:升級boost==1.6.3

          使用說明

          OpenMVS可執(zhí)行文件生成在openMVS/openMVS_build/bin/里面,在openMVS_build文件夾下打開終端,按照順序執(zhí)行如下命令:(-w 設(shè)置的是數(shù)據(jù)的路徑,-i 是輸入的文件名,-o是輸出的文件名)。

          注意:colmap/openmvg計算的位姿可以通過作者提供的InterfaceCOLMAP,InterfaceVisualSFM轉(zhuǎn)成稠密重建輸入的*.mvs文件。這里我們主要關(guān)注mvs重建過程,未給位姿這個配置介紹(后面如果大家需求可以補充)。大家先根據(jù)提供的數(shù)據(jù)測試。

          1. 稠密重建

             ./bin/DensifyPointCloud -w /home/**/data/openMVS_sample -i scene.mvs -o test_dense.mvs

            輸出log:


            得到的稠密點云test_dense.ply:


          2. 曲面重建

            ./bin/ReconstructMesh -w /home/data -i test_dense.mvs -o test_mesh.mvs

            輸出的log :


            生成的網(wǎng)格模型test_mesh.ply:

          3. 網(wǎng)格優(yōu)化

            ./bin/RefineMesh -w /home/data -i test_mesh.mvs -o test_refinemesh.mvs

            輸出的log :


            優(yōu)化的模型test_refinemesh.ply:

          4. 紋理貼圖

            ./bin/TextureMesh -w /home/data -i test_refinemesh.mvs -o test_texture.mvs

            輸出的log:


            輸出的結(jié)果 test_texture.ply test_texture.png:

          至此,恭喜你,大功告成!


          瀏覽 131
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  午夜操操逼 | 豆花视频无码在线看 | 欧美日韩a级大全免费高清在线播放 | 色五月婷激情视频在线 | 亚洲操逼黄色网 |