栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

colmap安装(ubuntu 18.04系统)

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

colmap安装(ubuntu 18.04系统)

跟大家分享一下colmap安装经历。colmap在windows上的安装至今未成功,无奈选择linux,我的系统版本是ubuntu18.04,安装经历给大家做一个参考。官方安装教程参考这里:官方文档

第一步和官方教程是一样的,apt-get命令安装依赖包:

sudo apt-get install 
    git 
    cmake 
    build-essential 
    libboost-program-options-dev 
    libboost-filesystem-dev 
    libboost-graph-dev 
    libboost-system-dev 
    libboost-test-dev 
    libeigen3-dev 
    libsuitesparse-dev 
    libfreeimage-dev 
    libmetis-dev 
    libgoogle-glog-dev 
    libgflags-dev 
    libglew-dev 
    qtbase5-dev 
    libqt5opengl5-dev 
    libcgal-dev 
    libcgal-qt5-dev

如果这一步失败的话,检查网络情况,或者替换为国内源。(自行搜索linux如何更换国内源,这里不再赘述)

第二步,安装ceres-solver,但是按照官网教程安装的话,git无法访问到googlesource,因此我把googlesource的网址替换为github的网址,ceres-solver在github上的仓库地址:ceres-solver

 但是注意,不能克隆这个仓库的master分支,而要手动切换到2.0分支或2.1分支,否则会导致安装失败!

以下是安装过程:

sudo apt-get install libatlas-base-dev libsuitesparse-dev
git clone https://github.com/ceres-solver/ceres-solver.git       // 记得切换分支,不要装master分支,我装的是2.0版本的
cd ceres-solver
mkdir build
cd build
cmake .. -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF
make -j
sudo make install

然后把colmap克隆下来再安装就好了

git clone https://github.com/colmap/colmap
cd colmap
git checkout dev
mkdir build
cd build
cmake ..
make -j
sudo make install

验证是否安装成功:

colmap -h
colmap gui

验证能否调用colmap库:

新建一个hello_world.cc文件,写入如下内容:

#include 
#include 

#include 
#include 

int main(int argc, char** argv) {
    colmap::InitializeGlog(argv);

    std::string input_path;
    std::string output_path;

    colmap::OptionManager options;
    options.AddRequiredOption("input_path", &input_path);
    options.AddRequiredOption("output_path", &output_path);
    options.Parse(argc, argv);

    std::cout << colmap::StringPrintf("Hello %s!", "COLMAP") << std::endl;

    return EXIT_SUCCESS;
}

在hello_world.cc相同目录下新建一个CMakeLists.txt文件,写入如下内容:

cmake_minimum_required(VERSION 2.8.11)

project(TestProject)

find_package(COLMAP REQUIRED)
# or to require a specific version: find_package(COLMAP 3.4 REQUIRED)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")

include_directories(${COLMAP_INCLUDE_DIRS})
link_directories(${COLMAP_LINK_DIRS})

add_executable(hello_world hello_world.cc)
target_link_libraries(hello_world ${COLMAP_LIBRARIES})

然后执行:

cmake .
cmake --build .

可以看到当前目录下生成了一个名为hello_world的可执行文件。说明编译成功了,hello_world.cc成功调用了colmap中的函数。

linux安装还是很简单的,只要ceres-solver注意不要装master版本的就行了。至于windows,我至今没成功。。。还是建议大家不要在windows上装了,实在太费时间精力了

更新:ceres-solver切换版本:

点开ceres仓库ceres-solver,进入的是master分支,点击master,在Branches旁边有个Tags,点击Tags,选中2.0.0即可

 

 这样就切换成功了,再点开Code,然后git clone下来就行了

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/851932.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号