Skip to content

Instantly share code, notes, and snippets.

@kskkwn
Last active December 1, 2022 05:10
Show Gist options
  • Star 4 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kskkwn/66415927c89d88ca0ccb85d11f7cdd31 to your computer and use it in GitHub Desktop.
Save kskkwn/66415927c89d88ca0ccb85d11f7cdd31 to your computer and use it in GitHub Desktop.
openMVGとopenMVSを使うメモ

historyから適当に引っ張ってきたので間違っているかもしれない。

OpenMVGのインストール

git clone --recursive https://github.com/openMVG/openMVG.git
mkdir openMVG_Build
cd openMVG_Build
cmake -DCMAKE_BUILD_TYPE=RELEASE -DOpenMVG_BUILD_TESTS=ON -DOpenMVG_BUILD_EXAMPLES=ON . ../src/
make -j 7

OpenMVSのインストール

ここの手順をそのまま実行してインストールする。https://github.com/cdcseacave/openMVS/wiki/Building cuda関連でエラーが出たので使わないようにしたのと、anacondaを使ってるせいでエラーが出たので一時的にPATHからanacondaを消して実行した

sudo apt-get update -qq && sudo apt-get install -qq
sudo apt-get -y install build-essential git mercurial cmake libpng-dev libjpeg-dev libtiff-dev libglu1-mesa-dev
main_path=`pwd`

#Eigen (Required)
hg clone https://bitbucket.org/eigen/eigen#3.2
mkdir eigen_build && cd eigen_build
cmake . ../eigen
make && sudo make install
cd ..

#Boost (Required)
sudo apt-get -y install libboost-iostreams-dev libboost-program-options-dev libboost-system-dev libboost-serialization-dev

#OpenCV (Required)
sudo apt-get -y install libopencv-dev

#CGAL (Required)
sudo apt-get -y install libcgal-dev libcgal-qt5-dev

#VCGLib (Required)
git clone https://github.com/cdcseacave/VCG.git vcglib

#Ceres (Required)
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 (Optional)
sudo apt-get -y install freeglut3-dev libglew-dev libglfw3-dev

#OpenMVS
git clone https://github.com/cdcseacave/openMVS.git openMVS
mkdir openMVS_build && cd openMVS_build
cmake . ../openMVS -DCMAKE_BUILD_TYPE=Release -DVCG_DIR="$main_path/vcglib" -DOpenMVS_USE_CUDA=OFF

#If you want to use OpenMVS as shared library, add to the CMake command:
-DBUILD_SHARED_LIBS=ON

#Install OpenMVS library (optional):
make -j2 && sudo make install

pathを通しておく

export PATH=~/work/pic2cloud/openMVS_build/bin:$PATH
export PATH=~/work/pic2cloud/openMVG_build/Linux-x86_64-RELEASE:$PATH

meshlab のインストール

ビューアとしてmeshlabを入れる。.plyファイルが見れれば何でもいいと思う。

sudo add-apt-repository ppa:zarquon42/meshlab
sudo apt-get update
sudo apt-get install meshlab

画像からポリゴンの生成

imgsに画像を20枚ぐらい置く。

自分で一個一個実行してもいいけど、pythonで実行するスクリプトがあるので、それを使って実行する。 python2でないと動かないので注意。

python2 ~/work/pic2cloud/openMVG_build/software/SfM/SfM_GlobalPipeline.py imgs output

https://github.com/cdcseacave/openMVS/wiki/Usage に従って疎な点を、密なポリゴンにする。

openMVG_main_openMVG2openMVS -i ./reconstruction_global/sfm_data.bin -o sfm_data.mvs
DensifyPointCloud sfm_data.mvs
ReconstructMesh sfm_data_dense.mvs
RefineMesh sfm_data_dense_mesh.mvs
TextureMesh sfm_data_dense_mesh_refine.mvs
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment