ubuntu18.04 编译OpenCV4.2.0 OpenCV_Contrib4.2.0

参考文档:

https://blog.csdn.net/u011171361/article/details/106289537

https://blog.csdn.net/new_delete_/article/details/84797041

https://www.cnblogs.com/arxive/p/11778731.html

1.下载(以4.2.0为例)

OpenCv:https://opencv.org/releases/
OpenCv_Contrib: https://github.com/opencv/opencv_contrib/releases

注意:下载的OpenCV和OpenCV_Contrib的版本要一致,这里笔者下的都是4.2.0

 

ubuntu18.04 编译OpenCV4.2.0 OpenCV_Contrib4.2.0_第1张图片

ubuntu18.04 编译OpenCV4.2.0 OpenCV_Contrib4.2.0_第2张图片

 

 

2.安装所需库 

sudo apt-get install build-essential 
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

过程中遇到报"无法定位软件包libjasper-dev的的情况"
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt upgrade
sudo apt install libjasper1 libjasper-dev

3.编译源码

1):准备工作:

1.先把文件的版本号去掉
opencv-4.2.0           改成   opencv
opencv_contrib-4.2.0   改成   opencv_contrib
2.将opencv_contrib文件夹移动opencv里面

ubuntu18.04 编译OpenCV4.2.0 OpenCV_Contrib4.2.0_第3张图片

编译的时候有可能会报boostdesc.cpp:654:20: fatal error: boostdesc_bgm.i: 没有那个文件或目录#include "boostdesc_bgm.i 

ubuntu18.04 编译OpenCV4.2.0 OpenCV_Contrib4.2.0_第4张图片

下载缺失的文件:https://download.csdn.net/download/u011171361/12456484

放到/home/opencv/opencv/opencv_contrib/modules/xfeatures2d/src 如图

ubuntu18.04 编译OpenCV4.2.0 OpenCV_Contrib4.2.0_第5张图片

2): 编译

cd opencv
mkdir -m 777 build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_SHARED_LIBS=OFF -D WITH_OPENMP=ON -D ENABLE_PRECOMPILED_HEADERS=OFF OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules ..

注:
1.CMAKE_INSTALL_PREFIX       库安装在/usr/local
2.OPENCV_EXTRA_MODULES_PATH  指明opencv_contrib模块路径
3.增加  -D WITH_OPENMP=ON    防止报recipe for target 'all' failed 
4.最后面的两个点不能少

配置完成之后
make -j8
make install

ubuntu18.04 编译OpenCV4.2.0 OpenCV_Contrib4.2.0_第6张图片

4.配置opencv 


1.打开:sudo gedit /etc/ld.so.conf.d/opencv.conf
2.添加:/usr/local/lib
3.保存生效:sudo ldconfig

#####################################################

1.打开:sudo gedit /etc/bash.bashrc
2.添加:PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig export PKG_CONFIG_PATH
3.保存生效:source /etc/bash.bashrc

5.测试是否成功 

cd ../samples/cpp/example_cmake
cmake .
make
./opencv_example

注:摄像头黑屏不显示,但有Hello OpenCV出现,报Failed to load module "canberra-gtk-module",

解决办法:

sudo apt install libcanberra-gtk-module

 

ubuntu18.04 编译OpenCV4.2.0 OpenCV_Contrib4.2.0_第7张图片

效果图:

ubuntu18.04 编译OpenCV4.2.0 OpenCV_Contrib4.2.0_第8张图片

你可能感兴趣的:(QT)