OpenCV中的模块:三维重建-SFM

        运动中恢复结构(SFM)可以用来重建目标的稀疏点云并为后续的稠密重建提供相对精度更高的种子点,也可以用于里程计等估计相机本身的位姿。同样,除了采用结构光进行三维重建外,还用到了OpenMVG + C/PMVS和COLMAP。在浏览OpenCV contrib模块时发现OpenCV也可实现MVG,高低得编译学习一下。同样,这里分为Ubuntu下的和windows下的编译及测试。

1. Ubuntu下编译带有SFM的OpenCV库
        1.1 依赖库的安装 
        Ubuntu下的编译相对简单,主要是一些依赖库的安装,尤其是注意Ceres的安装。如果不安装Ceres,则重建功能将被禁用。

#安装依赖库

sudo apt-get install libgoogle-glog-dev

sudo apt-get install libatlas-base-dev

sudo apt-get install libeigen3-dev

sudo apt-get install libsuitesparse-dev
 

#编译、测试及安装Ceres

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

cd ceres-solver

mkdir build && cd build

cmake ..

make -j4

make test

sudo make install

如果按照上述命令行,可能报错:

error: ‘integer_sequence’ is not a member of ‘std’

 这是因为使用了C++14标准。为了避免基于OpenCV库的开发出现其他问题,这里降低Ceres至2.0以下,但是编译后又出现了:

variable or field ‘it’ declared void

这是因为eigen版本过高了,再次将版本将至3.3以下,编译通过。

       1.2 OpenCV的编译。

       上一步的库已经被安装到Ubuntu的环境中,如果已经是编译过的OpenCV库,编译OpenCV只需要打开VIZ(VTK)编译即可。

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-04-02 09:28:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-02 09:28:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-02 09:28:02       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-02 09:28:02       20 阅读

热门阅读

  1. 竞赛常考的知识点大总结(五)动态规划

    2024-04-02 09:28:02       21 阅读
  2. 微信小程序开发:颠覆式思维转变与实践指南

    2024-04-02 09:28:02       20 阅读
  3. docker搭建Bazarr

    2024-04-02 09:28:02       23 阅读
  4. Ubuntu安装elasticsearch

    2024-04-02 09:28:02       21 阅读
  5. CondaHTTPError: HTTP 429 TOO MANY REQUESTS for url

    2024-04-02 09:28:02       19 阅读
  6. windows or ubuntu mount 文件

    2024-04-02 09:28:02       16 阅读
  7. Rust常用特型之Clone+Copy特型

    2024-04-02 09:28:02       18 阅读