Ubuntu 18.04.5 LTS源码编译安装OpenCV 4.5.1

使用TensorRT加速yolov5时,在make时出现fatal error: opencv2/dnn/dnn.hpp: No such file or directory,貌似opencv dnn模块有问题,于是重装,安装参考教程

1.安装依赖

sudo apt install build-essential cmake git pkg-config libgtk-3-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev libjpeg-dev libpng-dev libtiff-dev gfortran openexr libatlas-base-dev python3-dev python3-numpy libtbb2 libtbb-dev libdc1394-22-dev

(虽然安装了这些,但后面可能还会出现各种NOT FOUND!!!)

2.克隆 OpenCV和OpenCV contrib 仓库源码(注意检查两者版本要一致)

mkdir ~/opencv_build && cd ~/opencv_build
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git

如果是直接download的zip文件,opencv_contrib源码在解压的文件夹去掉后面的版本号,否则后面opencv编译时会找不到opencv_contrib文件夹

3.创建临时构建目录

cd ~/opencv_build/opencv
mkdir build && cd build

CMake设置

cmake -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/usr/local \
    -D INSTALL_C_EXAMPLES=ON \
    -D INSTALL_PYTHON_EXAMPLES=ON \
    -D OPENCV_GENERATE_PKGCONFIG=ON \
    -D OPENCV_EXTRA_MODULES_PATH=~/opencv_build/opencv_contrib/modules \
    -D BUILD_EXAMPLES=ON ..

结束后可以看到以下输出

在这里插入图片描述

如果过程中出现各种NOT FOUND可以参考这篇博文将找不到的包安装上,或者直接百度/谷歌查找需要对应安装什么

Could not find OpenBLAS 解决参考

4.开始编译

make -j48

根据自己的处理器更改-j后面的数字,如果不知道, 可以使用命令nproc查看

如果编译过程出现以下报错

在这里插入图片描述
建议CMake最后加一条参数-D WITH_FFMPEG=OFF,可能是由于我之前安装了ffmpeg导致出现问题

编译成功

在这里插入图片描述
5.安装

sudo make install

在这里插入图片描述
6.验证

pkg-config --modversion opencv4  # output 4.5.1
python3 -c "import cv2; print(cv2.__version__)" #output 4.5.1

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值