Ubuntu20.04配置OpenCV库

Ubuntu20.04配置OpenCV库

没有opencv库的Ubuntu就好像没有珍珠的皇冠

安装依赖

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 python3-dev python3-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt install libjasper1 libjasper-dev

下载源码

在两个网址分别下载source cide(zip)并解压缩
https://github.com/opencv/opencv/releases/tag/4.5.3
https://github.com/opencv/opencv_contrib/releases/tag/4.5.3
将opencv_contrib-4.5.3 放入opencv文件里并改名为opencv_contrib

编译源码

进入opencv文件夹

mkdir build
cd build/
sudo cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv4  -D OPENCV_EXTRA_MODULES_PATH=~/opencv-4.5.3/opencv_contrib/modules/ -D OPENCV_GENERATE_PKGCONFIG=YES -D OPENCV_ENABLE_NONFREE=True ..

cmake指令解释如下

  • CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/g++ :
    • 指定用g++编译, 需要自己用指令查找自己的g++ 安装位置,并进行替换
  • CMAKE_C_COMPILER:FILEPATH=/usr/bin/gcc :
    • 指定用gcc编译, 需要自己用指令查找自己的gcc安装位置,并进行替换
  • BUILD_opencv_cudacodec=OFF :
    • 防止报与cuda相关的错误
  • CMAKE_BUILD_TYPE=RELEASE :
    • 表示编译发布版本
  • CMAKE_INSTALL_PREFIX :
    • 表示生成动态库的安装路径,可以自定义,考虑后续可能会安装opencv的不同版本,因此将路径变为CMAKE_INSTALL_PREFIX=/usr/local/opencv4
  • OPENCV_GENERATE_PKGCONFIG=YES :
    • 表示自动生成OpenCV的pkgconfig文件,否则需要自己手动生成
  • OPENCV_EXTRA_MODULES_PATH=/home/autom/needs/opencv-4.5.3/opencv_contrib/modules/ -D :
    • 不变为绝对路径cmake可能会报错,也可能 contrib 不能编译成功

编译中可能会因为两个问题卡住,问题和解决方案如下

问题1:卡在:IPPICV: Download: ippicv_2020_lnx_intel64_20191018_general.tgz

问题原因:这个包被墙了,网络不好下载不下来
解决办法:提前下载好再改路径解决

  • 下载ippicv_2020_lnx_intel64_20191018_general.tgz
    https://github.com/opencv/opencv_3rdparty/tree/ippicv/master_20191018/ippicv
  • 修改配置文件 ~/opencv-4.5.3/3rdparty/ippicv的ippicv.cmake 注意!不要用命令行打开,可能会出错 双击打开
  • 找到该列
    https://raw.githubusercontent.com/opencv/opencv_3rdparty/${IPPICV_COMMIT}/ippicv/
  • 更改为ippicv_2020_lnx_intel64_20191018_general.tgz所在的文件夹路径,例如:/home/user/
    参考网页:https://blog.csdn.net/qq_43478260/article/details/109458079

问题2:缺少boostdesc_bgm.i等文件

问题原因:未知
解决办法:下载好拷贝到目录下

  • 下载文件 https://github.com/JZhong-Li/boostdesc_bgm.i
  • 将所有文件拷贝到 opencv_contrib/modules/xfeatures2d/src/ 目录下

问题处理后重新cmake
然后查看CPU线程数

grep 'processor' /proc/cpuinfo | sort -u | wc -l  

查到是48就用 -j48

sudo make -j48
sudo make install

你可能感兴趣的:(opencv,ubuntu,计算机视觉)