opencv & opencv_contrib 3.2.0 安装

opencv & opencv_contrib 3.2.0 安装

本文采用知识共享署名 4.0 国际许可协议进行许可,转载时请注明原文链接,图片在使用时请保留全部内容,可适当缩放并在引用处附上图片所在的文章链接。

背景

需要用到OpenCV3中使用SIFT和SURF特征提取,需要手动下载opencv和opencv_contrib的源码,然后将两个源码放在一起手动编译安装。

环境

  • ubuntu18.04
  • opencv-3.2.0
  • opencv_contrib-3.2.0

安装

参考教程

在ubuntu18.04中安装opencv_contrib-3.2.0采坑教程
主要参考上面教程,包含依赖库安装,cmake 配置等,下面会补充使用上述教程中优化和解决的部分编译问题。

源码及依赖文件下载

这里主要提供了部分源文件的国内的gitee 下载地址和cmake 自动下载的配置文件(有几率下载不成功这里做下备份)。
opencv
opencv_contrib
opencv3.2_CMake

问题解决

cmake 问题

问题:

CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
CUDA_nppi_LIBRARY (ADVANCED)
linked by target "opencv_cudev" in directory D:/Cproject/opencv/opencv/sources/modules/cudev
linked by target "opencv_cudev" in directory D:/Cproject/opencv/opencv/sources/modules/cudev
linked by target "opencv_test_cudev" in directory D:/Cproject/opencv/opencv/sources/modules/cudev/test
linked by target "opencv_core" in directory D:/Cproject/opencv/opencv/sources/modules/core
linked by target "opencv_core" in directory D:/Cproject/opencv/opencv/sources/modules/core
linked by target "opencv_test_core" in directory D:/Cproject/opencv/opencv/sources/modules/core
linked by target "opencv_perf_core" in directory D:/Cproject/opencv/opencv/sources/modules/core
...
...

解决:
参考:OpenCV3.3+CUDA9.0+Cmake3.9 环境搭建
已经更换的 FindCUDA.cmake OpenCVDetectCUDA.cmake 文件下载地址:
https://gitee.com/fromyuhu/opencv3.2_CMake

编译问题解决

问题:

/mnt/DG/WORK/2_code/100_ZYH/opencv/modules/imgcodecs/src/grfmt_exr.hpp:52:10: fatal error: ImfChromaticities.h: 没有那个文件或目录
 #include <ImfChromaticities.h>

解决:

sudo apt-get install libopenexr-dev

问题:

/mnt/DG/WORK/2_code/100_ZYH/opencv/modules/videoio/src/cap_gphoto2.cpp:32:10: fatal error: gphoto2/gphoto2.h: 没有那个文件或目录
 #include <gphoto2/gphoto2.h>

解决:

sudo apt-get install libgphoto2-dev

问题:

/mnt/DG/WORK/2_code/100_ZYH/opencv3.2.0-bulid/opencv_lapack.h:2:10: fatal error: LAPACKE_H_PATH-NOTFOUND/lapacke.h: 没有那个文件或目录
 #include "LAPACKE_H_PATH-NOTFOUND/lapacke.h"

解决:

sudo apt-get install liblapacke-dev checkinstall

修改出现问题的文件,例如我的文件是
opencv-3.2.0/build/opencv_lapack.h
将第二行中的#include"LAPACKE_H_PATH-NOTFOUND/lapacke.h" 修改为#include"lapacke.h"即可

问题:

Unsupported gpu architecture 'compute_20'

解决:
CUDA_GENERATION=Kepler …
在这里插入图片描述

测试

获取文件: https://gitee.com/fromyuhu/COMMON/tree/master/opencv/surf

mkdir bulid   
cd bulid   
cmake ..  
make  
./demo

能正常提取匹配特征点说明正常。

在这里插入图片描述

其他

笔者在安装的时候,有碰到 libgtk2.0-dev 由于依赖库问题无法安装问题,努力了很久也有搞定,这里说下,如果真的有碰到相的依赖库实在无法安装的问题,可以选择重装系统。笔者曾尝试解决部分库安装问题花费了不少时间,最后也没能解决,耽误了不少时间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

002237

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值