目录
前言
OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。 [1] 它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
本文主要介绍在debian10系统中安装指定版本的opencv,由于OpenCV3中使用SIFT和SURF特征提取,而自从OpenCV2升级到OpenCV3版本后,SIFT、SURF等这些算法都被移出opencv默认项目库,而被放到opencv_contrib的项目库。因此需要手动下载opencv和opencv_contrib的源码,然后将两个源码放在一起手动编译安装。
一、指定版本源码下载
下载指定版本网址:OpenCV/opencv_contrib国内快速下载 | 绕云技术笔记
也可以到博主资源中下载opencv/opencv_contrib源码,以及编译所需要的boostdesc_bgm.i文件
opencv及opencv_contrib源码下载链接:
opencv3.4.12与opencv-contrib-3.4.12-C++文档类资源-CSDN下载
boostdesc_bgm.i文件下载链接:
boostdesc-bgm.i文件,使用opencv编译时需要下载的文件-C++文档类资源-CSDN下载
二、源码编译安装
从源代码构建OpenCV库是安装OpenCV的推荐方法,它将针对您的特定系统进行优化,并且您将完全控制构建选项。
1.安装依赖库
sudo apt install build-essential cmake git pkg-config libgtk-3-dev \
libavcodec-dev libavformat-dev libswscale-dev libv4l-dev \
libxvidcore-dev libx264-dev libjpeg-dev libpng-dev libtiff-dev \
gfortran openexr libatlas-base-dev python3-dev python3-numpy \
libtbb2 libtbb-dev libdc1394-22-dev
2.配置编译
将opencv-3.4.12、opencv_contrib-3.4.12放在同一级目录下:
在opencv-3.4.12目录下建立build编译目录,执行如下语句进行configure配置:
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_C_EXAMPLES=ON \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D OPENCV_GENERATE_PKGCONFIG=ON \
-D OPENCV_EXTRA_MODULES_PATH=/home/data/opencv/opencv_contrib-3.4.12/modules/ \
-D BUILD_EXAMPLES=ON \
-D WITH_GTK=ON ..
3.编译改错
执行make编译:
make -j4
编译过程当中主要遇到如下错误:
a、
解决方法:将下载的boostdesc_bgm.i文件拷贝到opencv_contrib/modules/xfeatures2d/src/路径下。boostdesc_bgm.i文件下载路径如下:
b、
修改头文件路径定义:
c、
修改头文件路径定义:
d、
修改头文件路径定义:
e、
修改头文件路径定义:
修改完以上地方,大概耗时4h编译完成如下所示:
4.程序安装
执行make install执行程序、库文件安装操作,安装到/usr/local文件夹下:
5.版本检测
三、Debian存储库安装opencv
可从标准Debian存储库中获得OpenCV Python模块,要安装OpenCV Python模块,请输入:
sudo apt update
sudo apt install python3-opencv
上面的命令将安装运行OpenCV所需的所有软件包。
要验证安装,请导入cv2模块并打印OpenCV版本:
python3 -c "import cv2; print(cv2.__version__)"
返回数据如下:
3.2.0
注:如果要使用Python 2绑定安装OpenCV,请安装python-opencv软件包。
总结
以上就是编译opencv的内容总结,相关需要下载的文件的请到博主资源页下载即可。