opencv3中间添加了额外的sfm模块。但是新版本还是有很多问题这里说下配置。
首先说opencv3的配置。opencv3比opencv2小了很多。因为很多额外的扩展包不包含在opencv的源码包里。
一般来说只要编译opencv的源码就行了但是这里如果需要用到拓展包的里的模块就需要额外下载一个扩展包也就是opencv_contrib。比如这里的sfm就在这个拓展包里。
先贴几个网址
首先opencv的就从官网下就完了
其次扩展包从github下:https://github.com/Itseez/opencv_contrib
然后还有几个包;
一个是VIZ的包。这个是主要负责显示的。在sfm的demo里用到了
一个是ippicv的包。当你编译opencv的时候如果是用linux里编译会发现需要下载这个包,但是可能是因为墙的缘故这个包下不下来,所以会一直停在哪里,这个是一个并行计算的包,如果不用其实也可以。如果需要用的话就自己解压过后放到opencv解压后的文件夹里面。
然后就是编译安装就行。
如果要运行sfm的demo。viz需要先安装。
这里提供几个编译选项
mkdir build
cd build
camke -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_IPP=OFF -D WITH_VTK=ON -D OPENCV_EXTRA_MODULES_PATH=/modules ..
make -j $(nproc)
sudo make install
当然最后如果要保证能运行你需要把/usr/local的路径添加到编译以及运行时的连接路径里。
编译时路径可以在ide里面改。
运行时的路径需要在/etc/ld.so.conf文件夹里添加一个XXX.conf。然后运行sudo ldconfig。就行了