
Ubuntu18.04下安装OpenCV4.2.0与Opencv_contrib(图文详细报错总结)
前期准备—环境依赖Cmake(编译器)依赖环境Python环境streamer环境图像处理依赖安装OpenCV编译OpenCV配置cmake编译参数make编译配置OpenCV动态库验证OpenCV环境# python环境下OpenCV环境验证:安装Opencv_contrib下载opencv_contrib配置编译项出现的问题一、ippicv下载问题下载ippicv_2019_lnx_intel
Ubuntu18.04下安装OpenCV4.2.0与Opencv_contrib(图文详细)
前期准备—环境依赖
Cmake(编译器)
具体安装细节可以参考之前写的一篇《Ubuntu下安装Cmake(编译)》
依赖环境
sudo apt-get install build-essential libgtk2.0-dev libgtk-3-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev
具体为以下环境依赖
build-essential
libgtk2.0-dev
libgtk-3-dev
libavcodec-dev
libavformat-dev
libjpeg-dev
libswscale-dev
libtiff5-dev
Python环境
注意OpenCV4.2.0需要Python3.x的环境
sudo apt install python3-dev
此外还需要Numpy函数库
sudo apt install python3-numpy
streamer环境
sudo apt install libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev
图像处理依赖
sudo apt install libpng-dev libopenexr-dev libtiff-dev libwebp-dev
PS:对于显示图像imshow(),正常显示几秒后报错:
Gtk-Message: 11:37:50.847: Failed to load module “canberra-gtk-module”
问题为缺少库,执行命令安装即可:
sudo apt-get install libcanberra-gtk-module
安装OpenCV
在OpenCV官网(https://opencv.org/releases/)找到OpenCV 4.2.0版本,下载Sources源码
也可以在OpenCV的GitHub中下载:
编译OpenCV
下载完成后解压进入OpenCV 4.2.0的文件目录中
新建build文件作为编译文件夹
mkdir build
cd build
配置cmake编译参数
cmake -DCMAKE_BUILD_TYPE=Release -DOPENCV_GENERATE_PKGCONFIG=ON -DCMAKE_INSTALL_PREFIX=/usr/local ..
make编译
终端执行
make -j8
OpenCV4版本默认不生成.pc文件,执行OPENCV_GENERATE_PKGCONFIG=ON生成。
PS:这里-j的参数是根据CPU的核数,8核-j8,4核-j4
编译完成后执行安装:
sudo make install
配置OpenCV动态库
配置OpenCV动态库环境,程序执行时加载动态库.so的路径*
cd /etc/ld.so.conf.d/
sudo touch opencv4.conf
sudo sh -c 'echo "/usr/local/lib" > opencv4.conf'
更新pkg-config:
sudo ldconfig
验证OpenCV环境
终端执行:
pkg-config --libs opencv4
pkg-config --cflags opencv4
出现如图所示即可表示OpenCV安装成功
# python环境下OpenCV环境验证:
进入Python环境,终端执行:
Python3
import cv2
安装Opencv_contrib
下载opencv_contrib
OpenCV-Github官方:https://github.com/opencv/opencv_contrib
配置编译项
进入OpenCV4.2.0的目录,清空刚才编译的build文件夹,重新编译:
这里需要注意Opencv_contrib的路径
cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_GENERATE_PKGCONFIG=YES -D CMAKE_INSTALL_PREFIX=/usr/local/opencv4 -D OPENCV_EXTRA_MODULES_PATH=/home/bigboss/opencv-4.2.0/opencv_contrib-4.2.0/modules/ ../
出现的问题
一、ippicv下载问题
在Cmake编译中可能会出现ippicv下载问题
下载ippicv_2019_lnx_intel64_general_20180723.tgz
Github地址:https://github.com/opencv/opencv_3rdparty/tree/ippicv/master_20180723/ippicv
PS:这里的下载根据自己的系统架构选择
修改opencv相关配置文件
进入**…/opencv-4.2.0/3rdparty/ippicv路径下打开ippicv.cmake**文件
修改第47行内容:将原来的下载网址替换为下载的本地文件路径:
"file:~/Downloads/" # 根据自己的实际路径参考
修改后:
二、boostdesc和vgg_generated文件下载较慢的问题
在编译中可能会遇到boostdesc和vgg_generated下载较慢的问题:
可以通过离线下载https://github.com/JZhong-Li/boostdesc_bgm.i
复制到到**opencv_contrib/modules/xfeatures2d/src/**目录中
make安装(Opencv_contrib)
终端执行make,-j的参数根据自己CPU实际内核做调整
maake -j4
如果遇到:
Makefile:165: recipe for target 'all' failed
make: *** [all] Error 2
重复执行make即可,
最后执行
sudo make install
切换OpenCV版本 (补充)
sudo gedit /etc/ld.so.conf.d/opencv.conf
PS:执行此命令后打开的可能是一个空白的文件,不用管,只需要在文件末尾添加并保存
/usr/local/lib
同步配置路径生效:
sudo ldconfig
配置bash:
sudo gedit /etc/bash.bashrc
在最末尾添加:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
保存使得配置生效:
source /etc/bash.bashrc
更新环境信息:
sudo updatedb
OpenCV代码测试
调用摄像头
进入**/opencv-4.2.0/samples/cpp/example_cmake**
cd opencv-4.2.0/samples/cpp/example_cmake
cmake .
make
./opencv_example
执行结构:
更多推荐
所有评论(0)