historyから適当に引っ張ってきたので間違っているかもしれない。
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
ここの手順をそのまま実行してインストールする。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を入れる。.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