Ubuntu18.04下配置OpenMVS的流程及一些问题

参考文献

所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。

基本流程

需要的工具

  • CMake
  • git
  • C/C++ 编译器(例如 GCC)

官方教程

OpenMVS官方教程在这里
官网以Ubuntu 16.04为例,但我用的系统版本是18.04

OpenMVS依赖一些第三方开源库,在接下来的安装过程中可能会安装这些额外的依赖库,不过其中一些是必要的,一些是可选的:

  • Eigen version 3.4 or higher(必要的)
  • 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(必要的)
  • GLFW3(可选的)

以下为官方-Linux compilation原文:

#Prepare and empty machine for building:
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`

#Eigen (Required)
git clone https://gitlab.com/libeigen/eigen.git --branch 3.4
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 (Optional)
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_ROOT="$main_path/vcglib"

#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

中文翻译

参考链接:openMVS+ubuntu1804安装记录和问题解决_by fangjiaji007

#相关工具安装和升级
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 #使用cmake编译
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 #电脑上已经有opencv可以略过此步骤

#安装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 -VCG_ROOT="/path to vcglib/vcglib"
#生成 OpenMVS 库文件:
sudo make -j2 && sudo make install
#安装完毕
————————————————
版权声明:本文为CSDN博主「fangjiaji007」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_35250841/article/details/115639760

遇到的问题

1.git clone太慢

在配置过程中很多地方需要使用git clone,但下载速度很慢,
解决办法
参考这篇文章git clone速度太慢的解决办法_by_Sivan2017


2.git clone报错

参考这篇文章Failed to receive SOCKS4 connect request ack 解决_by_way49864
运行git clone…的命令时报错:

Failed to receive SOCKS4 connect request ack.

问题来源
开启了 sockets5 网络代理,例如开了ssr或者蓝灯之类的翻墙(我也不太懂)

解决方法

git config --global http.proxy 'socks5://127.0.0.1:1080'

如果还没有解决你的问题,你可以试试这篇文章


3.关于main_path='pwd’的路径问题

官方教程中可以通过这个设置安装路径,但如果忽略这条代码,可能会在后续安装中出现问题,参考这篇文章Ubuntu使用OpenMVG和OpenMVS进行三维重建


4.Eigen库的版本问题

Eigen必须是3.2.X版本,自己手动下载时,如果下载了高版本的,会编译出错。


5.Cmake的时候卡住了

先耐心等等,编译的过程中可能会出现静止的状况,多等一下就好了


6.运行make -j2 && sudo make install时报错:

[ 19%] Built target Common
[ 30%] Built target Math
[ 53%] Built target IO
[ 81%] Built target MVS
[ 84%] Linking CXX executable ../../bin/InterfaceVisualSFM
[ 84%] Linking CXX executable ../../bin/InterfaceCOLMAP
/usr/bin/ld: CMakeFiles/InterfaceVisualSFM.dir/InterfaceVisualSFM.cpp.o: undefined reference to symbol '_ZN2cv7imwriteERKNS_6StringERKNS_11_InputArrayERKSt6vectorIiSaIiEE'
//usr/lib/x86_64-linux-gnu/libopencv_imgcodecs.so.3.2: 无法添加符号: DSO missing from command line
collect2: error: ld returned 1 exit status
/usr/bin/ld: CMakeFiles/InterfaceCOLMAP.dir/InterfaceCOLMAP.cpp.o: undefined reference to symbol '_ZN2cvmlERKNS_3MatES2_'
//usr/lib/x86_64-linux-gnu/libopencv_core.so.3.2: 无法添加符号: DSO missing from command line
collect2: error: ld returned 1 exit status
apps/InterfaceVisualSFM/CMakeFiles/InterfaceVisualSFM.dir/build.make:95: recipe for target 'bin/InterfaceVisualSFM' failed
make[2]: *** [bin/InterfaceVisualSFM] Error 1
CMakeFiles/Makefile2:658: recipe for target 'apps/InterfaceVisualSFM/CMakeFiles/InterfaceVisualSFM.dir/all' failed
make[1]: *** [apps/InterfaceVisualSFM/CMakeFiles/InterfaceVisualSFM.dir/all] Error 2
make[1]: *** 正在等待未完成的任务....
apps/InterfaceCOLMAP/CMakeFiles/InterfaceCOLMAP.dir/build.make:95: recipe for target 'bin/InterfaceCOLMAP' failed
make[2]: *** [bin/InterfaceCOLMAP] Error 1
CMakeFiles/Makefile2:603: recipe for target 'apps/InterfaceCOLMAP/CMakeFiles/InterfaceCOLMAP.dir/all' failed
make[1]: *** [apps/InterfaceCOLMAP/CMakeFiles/InterfaceCOLMAP.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2

问题来源
在官方教程中,建立共享库时使用了以下代码,但这会在接下来的步骤中发生上述错误

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

解决方法
不要使用上述代码
如果已经使用了上述代码,可以通过以下代码改过来:

cmake . ../openMVS -DCMAKE_BUILD_TYPE=Release -DVCG_ROOT="$main_path/vcglib" -DBUILD_SHARED_LIBS=OFF

注意:代码中的"$main_path/vcglib"改成你的vcglib的安装路径
一般在:

/home/你的用户名/vcglib

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
对于 Ubuntu 18.04 服务器的配置,以下是一些基本步骤: 1. 安装操作系统:从官方网站下载 Ubuntu 18.04 的镜像文件,并将其写入 USB 或 DVD。然后,将其插入服务器并启动。按照屏幕上的提示进行安装。 2. 更新系统:安装完成后,首先更新系统以获取最新的软件包和安全补丁。运行以下命令: ``` sudo apt update sudo apt upgrade ``` 3. 设置防火墙:为了增强服务器的安全性,配置防火墙以限制对服务器的访问。默认情况下,Ubuntu 使用 UFW(Uncomplicated Firewall)工具。您可以使用以下命令启用 UFW,并允许所需的网络流量: ``` sudo ufw enable sudo ufw allow ssh sudo ufw allow http sudo ufw allow https ``` 这将启用防火墙并允许 SSH、HTTP 和 HTTPS 流量通过。 4. 配置SSH:对于远程管理服务器,您需要配置 SSH。默认情况下,Ubuntu 已经安装了 OpenSSH。您可以使用以下命令检查是否已安装 SSH: ``` ssh -V ``` 如果未安装,请运行以下命令进行安装: ``` sudo apt install openssh-server ``` 5. 添加用户:为了安全起见,建议不要使用 root 用户进行日常操作。您可以创建一个新用户,并将其添加到 sudo 组以获取管理员权限。以以下命令为例: ``` sudo adduser username sudo usermod -aG sudo username ``` 其中,"username" 是您想要创建的新用户的名称。 这些是配置 Ubuntu 18.04 服务器的一些基本步骤。根据您的应用程序和需求,还可能需要进行其他配置安装其他软件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值