✨博客主页:王乐予🎈
✨年轻人要:Living for the moment(活在当下)!💪
🏆推荐专栏:【图像处理】【千锤百炼Python】【深度学习】【排序算法】
😺一、引言
最近在用腾讯的 ncnn 框架做模型推理,想着在 ubuntu 上编译一下。于是就有了这篇记录。
NCNN:https://github.com/Tencent/ncnn/
OpenCV:https://github.com/opencv/opencv
OpenCV-Contrib:https://github.com/opencv/opencv_contrib
😺二、编译 OpenCV
NCNN 会用到 OpenCV 读取图片,因此首先要编译 OpenCV。
在 Ubuntu 上编译 OpenCV ,网上有非常多的教程,我参考的是下面的几个:
ubuntu20.04配置opencv4.5.5+opencv_contrib4.5.5+Vscode配置
Linux/Ubuntu下使用VS Code配置C/C++项目环境调用OpenCV
Ubuntu20.04安装OpenCV并在vsCode中配置
我是用 CLion 开发做 C++ 开发的,因此编译完 OpenCV 就可以结束了,不用对 VSCode 进行配置。
我这里用的是最新的 OpenCV (4.10.0)。可能存在一些版本问题,但影响不大,NCNN 代码例程用的大多是 OpenCV 的基本操作。
注意:OpenCV-Contrib 要与 OpenCV 同一版本。
🐶2.1 安装各种依赖
更新环境:
sudo apt-get update
sudo apt-get upgrade
安装编译器和构建工具等,若已安装,跳过即可:
sudo apt-get install -y g++ # Ubuntu自带gcc
sudo apt-get install -y cmake
sudo apt-get install -y make
sudo apt-get install -y wget
sudo apt-get install -y unzip
sudo apt-get install -y git
安装各种依赖库:
sudo apt-get install build-essential pkg-config
sudo apt-get install libgtk2.0-dev libgtk-3-dev libglib2.0-dev libavcodec-dev libavformat-dev libswscale-dev libavutil-dev libv4l-dev liblapacke-dev libxvidcore-dev libx264-dev
sudo apt-get install python-dev python-numpy
sudo apt-get install libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev
sudo apt-get install libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper1 libjasper-dev libdc1394-22-dev libopenexr-dev libwebp-dev
sudo apt-get install libatlas-base-dev gfortran
sudo apt-get install ffmpeg
安装依赖库libjasper1
和libjasper-dev
时,若报错E:Unable to locate package libjasper-dev
,可以命令行执行以下命令,然后再安装
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main" # 国内可能需要换国内的镜像
sudo apt-get update
🐶2.2 下载 OpenCV 和 OpenCV-Contrib
git clone https://github.com/opencv/opencv # 默认安装最新的版本
git clone https://github.com/opencv/opencv_contrib
下载结束后进行解压:
unzip opencv.zip
unzip opencv_contrib.zip
解压完后的 opencv_contrib 放在 opencv 文件夹里面。
我的 opencv 所在的目录是:/home/***/opencv
(***是用户名)
🐶2.3 进入 opencv 目录并新建 build 文件夹
mkdir -p build && cd build
🐶2.4 使用 CMake 生成构建脚本
sudo cmake -D CMAKE_BUILD_TYPE=Release -D