1. openMVG

比较简单,直接按照 build wiki 的步骤一步一步来就没问题。

Instruction: Build on Linux

# Install the required external libraries.sudo apt-get install libpng-dev libjpeg-dev libtiff-dev libxxf86vm1 libxxf86vm-dev libxi-dev libxrandr-dev

# If you want see the view graph svg logs, installGraphviz.

$sudo apt-get install graphviz

# Checkout OpenMVG.

$ git clone--recursive https://github.com/openMVG/openMVG.git

# 设置编译和安装路径

$ cd openMVG

$mkdir openmvg-build

$mkdir openmvg-bin

$ cd openmvg-build

# Configure and build

$ cmake-DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/path/to/openMVG/openmvg-bin ../src/$ cmake--build . --target install

2. openMVS

2.1 这一步就比较麻烦了,因为wiki里面的指导不一定能安装成功。

# Prepare and empty machine forbuildingapt-get update && apt-get install -qqapt-get -y install build-essential git mercurial cmake libpng-dev libjpeg-dev libtiff-dev libglu1-mesa-dev libxmu-dev libxi-dev

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

#Eigen (Required)

git clone https://gitlab.com/libeigen/eigen.git --branch 3.3

cd eigenmkdir eigen-build && cd eigen-build

cmake . ..-CMAKE_INSTALL_PREFIX=/path/to/eigen/eigen-binmake && make installcd ../..

2.2 下面这一步可能会出现问题,最好自己下载源码编译

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

# Build opencv from source

git clone https://github.com/opencv/opencv.git

cd opencv

git reset--hard 3.4.1

mkdir opencv-binmkdir opencv-build && cd opencv-build

cmake-DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/path/to/opencv/opencv-bin ..make -j8make install

2.3 接下来的两个库直接按步骤就可以

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

#VCGLib (Required)

git clone https://github.com/cdcseacave/VCG.git vcglib

#Ceres (Required)

apt-get -y install libatlas-base-dev libsuitesparse-dev

# If google source encounter connectiontimeout, try github

# git clone https://ceres-solver.googlesource.com/ceres-solver ceres-solver

git clone https://github.com/ceres-solver/ceres-solver.git

cd ceres-solver

git reset--hard 1.14.0

mkdir ceres-binmkdir ceres-build && cd ceres-build

cmake . ../ -DMINIGLOG=ON -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFFmake -j2 && sudo make installcd ../..

#GLFW3 (Optional)

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

2.4 进入主要步骤

#OpenMVS

git clone https://github.com/cdcseacave/openMVS.git openMVS

cd openMVSmkdir openmvs-binmkdir openmvs-build && cd openmvs-build

cmake . ../ -DCMAKE_BUILD_TYPE=Release -DVCG_ROOT="/path/to/vcglib" -DBUILD_SHARED_LIBS=ON

#If something goes wrong, try to set shared libs OFF

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

2.5 make的过程中出现undefined reference错误记录如下

[100%] Linking CXX executable ../../bin/Viewer/usr/bin/ld: CMakeFiles/Viewer.dir/Image.cpp.o: undefined refere

nce to symbol'_ZN2cv6resizeERKNS_11_InputArrayERKNS_12_OutputAr

rayENS_5Size_IiEEddi'//root/misc_codes/opencv/opencv-bin/lib/libopencv_imgproc.so.3.4

: error adding symbols: DSO missing from command line

collect2: error:ld returned 1exit status

apps/Viewer/CMakeFiles/Viewer.dir/build.make:229: recipe for target'bin/Viewer'failedmake[2]: *** [bin/Viewer] Error 1CMakeFiles/Makefile2:732: recipe for target 'apps/Viewer/CMakeFi

les/Viewer.dir/all'failed

make[1]: *** [apps/Viewer/CMakeFiles/Viewer.dir/all] Error 2Makefile:129: recipe for target 'all'failedmake: *** [all] Error 2

openMVS的git issue里面提到的思路或许能解决问题

inCMakeList.txt, add lines like below (replace {{target_name}} to your own):

find_package(Boost COMPONENTS system filesystem REQUIRED)

target_link_libraries({{target_name}} ${Boost_FILESYSTEM_LIBRARY})

target_link_libraries({{target_name}} ${Boost_SYSTEM_LIBRARY})

实际解决时,在每一个模块下面的CMakeLists.txt中添加动态链接库

# openMVS/apps/InterfaceCOLMAP/CMakeLists.txt

cxx_executable_with_flags_no_pch(InterfaceCOLMAP"Apps" "${cxx_default}" "MVS;${OpenMVS_EXTRA_LIBS}"${LIBRARY_FILES_C} ${LIBRARY_FILES_H})

target_link_libraries(InterfaceCOLMAP

${OpenCV_LIBRARIES}

${Boost_LIBRARIES}

)

2.6 运行过程中遇到以下的问题

error: "There is no defined intrinsic data in order to compute an essential matrix for the initial pair."

解决方案

至此配置完成,找一些数据如Middlebury dino/temple、DTU scan9、ETHD Pipes、Strecha fountain-P11等就可以运行测试了。

linux系统MVS安装,Ubuntu 环境 openMVG+openMVS 配置相关推荐

  1. windows配置gitlab秘钥并测试_你了解多少Linux系统GitLab安装与环境配置?

    Linux系统GitLab安装与环境配置 注意:虚拟机的内存至少2G以上 一. 从GitLab官网获取安装方法和步骤: https://about.gitlab.com/installation/#c ...

  2. Linux系统之安装PHP环境

    Linux系统之安装PHP环境 一.PHP介绍 1.PHP简介 2.PHP优势 3.php7版本特点 二.本地环境介绍 1.环境规划 2.检查操作系统版本 3.检查当前yum仓库 三.安装PHP5.4 ...

  3. linux系统 ns3安装,ubuntu系统下ns3实验基础指令

    ubuntu系统下ns3实验基础指令 ubuntu系统下ns3实验基础指令 ubuntu系统下ns3实验基础指令 针对使用ns3进行信息网络建模与仿真相关实验,这篇博客提供了一些基本操作的建议与命令介 ...

  4. centos 7.2安装 java_centos7.2 linux系统上安装java环境

    管理linux 系统,首先需要使用一个工具了,我使用的是 MobaXterm_Personal_9.4.exe,操作方便,又好上传文件的. 本文将讲解如何在centos7上安装jdk8并配置java环 ...

  5. java8安装_科学网—Java JDK 8 的安装以及环境变量的配置(Linux and Windows) - 彭勇的博文...

    Java JDK 8 的安装以及环境变量的配置(Linux and Windows) JDK(Java Development Kit)包括了Java语言的编译器,可以在这里下载: 根据操作系统选择相 ...

  6. Linux系统的安装和Android编译环境的配置

    Linux系统的安装和Android编译环境的配置 亲测Android8.1-Android10.0可用 电脑硬件配置 安装Linux系统 配置Android编译环境 常见编译报错 亲测Android ...

  7. vm虚拟机下linux安装python_VM中安装linux系统,安装VS Code,搭建Python环境

    VM中安装linux系统 在linux系统中安装VSCode(Visual Studio Code) 1.从官网下载安装包 2.在下载目录打开终端安装 sudo dpkg -i code_1.32.3 ...

  8. linux系统离线安装miniconda3 及创建python环境

    在linux系统中安装python开发环境,一般采取安装miniconda的方法,不建议安装anaconda,miniconda是一个anaconda的轻量级,默认只有python跟conda.有时候 ...

  9. Linux matlab mysql,在linux系统里面安装matlab运行环境mcr

    matlab毕竟是收费软件,而且是有界面的.所以搞生物信息的都用R和linux替代了,但是很多高大上的单位,比如大名鼎鼎的broadinstitute,是用matlab的,所以他们开发的程序也会以ma ...

最新文章

  1. NB-IOT: Anchor Carrier 锚点载波
  2. Redis之单线程 Reactor 模型
  3. 从三个角度判断网站优劣程度值得了解一下
  4. python 特征选择 绘图 + mine
  5. SQL 隐藏手机号中间四位
  6. How Many Tables
  7. BIFR的完整形式是什么?
  8. data为long 怎么设置vue_vue--为什么data属性必须是一个函数
  9. 删除苹果自带软件后果_使用adb命令删除手机软件(包括系统自带)
  10. 手把手教你如何把本地文件传到服务器,如何映射
  11. python字符串创建_python独特的字符串创建
  12. Python爬虫系列(二)——Python爬虫批量下载百度图片
  13. 揭开均线系统的神秘面纱_揭开定价创造力的黑暗艺术神秘面纱
  14. 输入两个正整数m和n,求其最大公约数和最小公倍数
  15. 利用Google博客搜索查看加密QQ空间(qzone)日志
  16. Java8之后,使用jdbc连接本地access数据库。DEMO
  17. Vue+FusionCharts 动态获取数据生成甘特图
  18. 不同业务场景该如何选择缓存的读写策略?
  19. 安装算量软件免费吗?鹏业安装算量(在线版):更简单、更高效
  20. 3dsmax-uv展开

热门文章

  1. 围棋ai最新型katago_围棋AI之katago CPU版
  2. centos 安装java_自己动手基于centos7安装docker及如何发布tomcat镜像
  3. js判断对象为空_在 JavaScript 中如何检查对象为空
  4. yolov3为什么对大目标检测不好_【目标检测简史】进击的YOLOv3,目标检测网络的巅峰之作...
  5. matlab杜哈梅尔积分,非平稳地震作用下桥梁系统碰撞间隙宽度的概率评价方法与流程...
  6. 在linux看数据库表空间,Linux平台达梦数据库V7之表空间管理
  7. pytorch torch.eye
  8. pytorch torch.transpose
  9. javascript call apply
  10. 机器学习 正则化(regularization)