安装
下载opencv4.0.1及contribute模块
https://github.com/opencv/opencv/releases/tag/4.0.1
https://github.com/opencv/opencv_contrib/releases/tag/4.0.1
更换国内源
使用 ubuntu 原生源下载速度,可替换为国内源,提升下载速度
备份 ubuntu 原生源
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
使用gedit编辑sources.list文件
sudo gedit /etc/apt/sources.list
将sources.list文件中的内容替换为以下内容,更换为阿里源
deb-src http://archive.ubuntu.com/ubuntu xenial main restricted #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse #Added by software-properties
deb http://archive.canonical.com/ubuntu xenial partner
deb-src http://archive.canonical.com/ubuntu xenial partner
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse
以上内容仅支持 ubuntu16 ,其他ubuntu版本可自行百度
命令行输入 sudo apt-get update 进行更新
安装cmake及依赖环境
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
sudo apt-get install build-essential qt5-default ccache libv4l-dev libavresample-dev libgphoto2-dev libopenblas-base libopenblas-dev doxygen pylint libvtk6-dev
编译安装Opencv
新建一个文件夹,存放下载的opencv压缩包
mkdir opencv4 cd opencv4
将下载好的压缩包拷贝到opencv4文件夹中
解压opencv压缩包
.tar.gz 结尾的压缩包使用 tar 工具进行解压;.zip 结尾的压缩包使用unzip工具进行解压
tar -zxvf xxxx.tar.gz unzip xxx.zip
解压完成后查看该目录下的文件
进入 opencv-4.0.1 文件夹,新建一个 build 文件夹,用于存放编译过程中产生的文件
cd opencv-4.0.1 mkdir build cd build
在 build 文件夹中编译
在命令行中输入以下内容:
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_GENERATE_PKGCONFIG=ON -D INSTALL_PYTHON_EXAMPLES=ON -D INSTALL_C_EXAMPLES=ON -D OPENCV_EXTRA_MODULES_PATH= /home/cht/opencv4/opencv_contrib-4.0.1/modules -D OPENCV_EXAMPLES=ON ..
CMAKE_INSTALL_PREFIX:该选项为opencv安装的目录,可按实际目录进行修改,一般放在/usr/local目录下 OPENCV_GENERATE_PKGCONFIG:打开 pkg-config OPENCV_EXTRA_MODULES_PATH:该选选项为opencv_contrib模块下module文件夹,按实际目录进行修改,若不编译opencv_contrib模块,该选项可以省略 .. :表示CMakeList.txt在上级目录,命令最后的 .. 不能够省略,否则会出现找不到CMakeList.txt
等待 cmake 完成......
cmake 执行过程需要下载一些压缩包,可能由于网络原因下载不下来,导致出错,这时可以删除 build 文件夹下的内容,重新执行 cmake 命令
在 build 文件夹中进行编译,输入 make
等待编译完成...
编译完成,输入sudo make install 进行安装
配置编译环境
在命令行中输入 gedit ~/.bashrc 打开 ~/.bashrc 文件 在 ~/.bashrc 文件中添加下面一行内容
export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH"
使环境变量生效
输入以下内容
source ~/.bashrc sudo ldconfig
使用 pkg-config 进行测试验证
pkg-config --libs --cflags opencv4
问题:
1.找不到 feature2d/test/test_detectors_regression.impl.hpp
原因是没找到这个文件,解决方法如下:
将opencv / modules / features2d复制,然后粘贴到build目录中来解决该问题。
2.出现fatal error: boostdesc_bgm.i: No such file or directory。
自己去github或是其他网站把这些文件下载下来,然后放到opencv_contrib/modules/xfeatures2d/src目录下就可以了。
下载链接:https://github.com/opencv/opencv_contrib/issues/1301