小淼博客

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

一、下载相关源代码

1. 下载 Opencv3.2.0源代码

curl -L https://github.com/opencv/opencv/archive/3.2.0.zip -o opencv-3.2.0.zip
unzip opencv-3.2.0.zip

🚀 安装前的依赖包: Ubuntu16.04+Opencv3.3的安装教程

2. 下载opencv_contrib源代码

cd opencv-3.2.0/
git clone https://github.com/opencv/opencv_contrib.git
cd opencv_contrib/
git checkout -b v3.2.0 3.2.0

3. 下载opencv_3rdparty库

git clone https://github.com/opencv/opencv_3rdparty.git
cat ./OpenCV/opencv-3.2.0/opencv_contrib/modules/xfeatures2d/cmake/download_vgg.cmake | grep "(OPENCV_3RDPARTY_COMMIT" # set(OPENCV_3RDPARTY_COMMIT "fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d")
cat ./OpenCV/opencv-3.2.0/opencv_contrib/modules/xfeatures2d/cmake/download_boostdesc.cmake | grep "(OPENCV_3RDPARTY_COMMIT" # set(OPENCV_3RDPARTY_COMMIT "34e4206aef44d50e6bbcd0ab06354b52e7466d26")
cd opencv_3rdparty
git checkout fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d # 这里版本的确认可以根据代码中的内容来查看
cp ./vgg_generated_*.i ./opencv-3.2.0/opencv_contrib/modules/xfeatures2d/src/
git checkout 34e4206aef44d50e6bbcd0ab06354b52e7466d26 # 这里版本的确认可以根据代码中的内容来查看
cp ./boostdesc*.i ./opencv-3.2.0/opencv_contrib/modules/xfeatures2d/src/

     这个库主要用来当 Opencv 编译过程中需要对相关库文件 (eg:vgg_generated_48.i) 下载时,出现无法校验通过 MD5 的情况,在 Opencv 编译出现错误时,查看对应的 git 版本并拷贝到 x2dfeature 当中,有文章提示可以在 cmake 时,增加 cmake 的选项来保证相关文件能够正常的下载(未测试): cmake .. -DOPENCV_DOWNLOAD_MIRROR_ID=gitcode

此次编译需要下载并拷贝的文件:

boostdesc_bgm.i
boostdesc_bgm_bi.i
boostdesc_bgm_hd.i
boostdesc_binboost_064.i
boostdesc_binboost_128.i
boostdesc_binboost_256.i
boostdesc_lbgm.i
vgg_generated_48.i
vgg_generated_64.i
vgg_generated_80.i
vgg_generated_120.i
md5sum vgg_generated_48.i # 用于计算文件对应的 MD5 编码用于验证文件正确 e8d0dcd54d1bcfdc29203d011a797179  vgg_generated_48.i 

二、cmake配置&编译

1. 配置 cmake 生成 Makefile

cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_GENERATE_PKGCONFIG=ON -D CMAKE_INSTALL_PREFIX=/usr/local/opencv-3.2.0 -D OPENCV_EXTRA_MODULES_PATH=/home/nvidia-mm/WorkSpace/OpenCV/opencv-3.2.0/opencv_contrib/modules ..

2. 编译运行

make all
make install

3. Error 错误

Questions: 出现了部分头文件引用失败问题:
修改为 #include_next </usr/include/math.h> :增加了头文件的绝对路径 /usr/include/

Questions: 出现了 Opencv 库安装之后编译无法链接 libopencv_xx.so 的情况:

a) 解决方法一:
vim /etc/profile # 在文件末尾添加如下内容
# LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/opencv-3.2.0/lib # 添加内容
# export LD_LIBRARY_PATH # 添加内容
source /etc/profile # 在当前终端生效内容
b) 解决方法二:

通过LD_LIBRARY_PATH环境变量,或者在文件/etc/ld.so.conf中指定库文件路径(或者将库文件放到默认/lib路径),然后。

vim /etc/ld.so.conf # 修改配置文件的内容
# /usr/local/opencv-3.2.0/lib/ # 增加相关库文件目录
ldconfig # ldconfig 刷新 ld.so.cache
posted on 2023-09-21 11:12  小淼博客  阅读(22)  评论(0)    收藏  举报

大家转载请注明出处!谢谢! 在这里要感谢GISPALAB实验室的各位老师和学长学姐的帮助!谢谢~