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