实验环境:Ubuntu 20.0
推理模型:ONNX
分类模型
1. 安装依赖项
首先是需要安装依赖库,如g++
,cmake
等,如果已经安装的话可以忽略
安装一些opencv
的依赖项(可不安装)
安装一些可选库(可不安装)
2. 下载并安装OpenCV
可以在官网下载相应版本的OpenCV
,主要有Source
和GitHub
两种方式下载。
2.1 Source下载
点击Source
进行下载:
2.2 GitHub下载
这里推荐安装4.9.0
版本。
下载完成后解压,并将文件夹名字改为opencv
3. Cmake配置和编译OpenCV
进入到下载好的opencv
目录中,新建并进入目录build
:
使用cmake
配置opencv
:
说明:
-D OPENCV_GENERATE_PKGCONFIG=YES OpenCV4以上默认不使用pkg-config,该编译选项开启生成opencv4.pc文件,支持pkg-config功能
随后使用make
进行编译
说明:
-j4中的4指同时使用4个进程,可以根据电脑的进程数调整此值
用make
进行安装(可以不用sudo
)
默认安装路径为:
/usr/local/bin - executable files
/usr/local/lib - libraries(.so)
/usr/local/cmake/opencv4 - cmake package
/usr/local/include/opencv4 - headers
/usr/local/share/opencv4 - other files (e.g. trained cascades in XML format)
4. 环境配置
4.1 配置pkg-config
环境
opencv4.pc
文件的默认路径:/usr/local/lib/pkgconfig/opencv4.pc
若此目录下没有,可以使用以下命令搜索:
可以看到在该目录下面:
将路径加入到PKG_CONFIG_PATH
(用vim
打开):
在文件后面加入下面一行:
保存并退出后激活:vim
保存退出的方式:按ESC
输入:wq
然后回车
用以下命令验证是否成功:
输出结果如下则代表成功
4.2 配置动态库环境
打开文件(可能为空文件):
在该文件末尾加上OpenCV
的lib
路径,保存退出:
使配置的路径生效:
5. 测试OpenCV(CPU)
cd
到/opencv/samples/cpp/example_cmake
目录下,然后打开opencv_example.cpp
文件,替换为下面的代码,这个代码执行的便是 加载分类ONNX模型进行推理。
这里博主使用的是OpenCV
中的dnn.hpp
来加载ONNX
模型,当然我们也可以选择使用ONNX Runtime
随后,进行编译执行:
cmake .后,会生成下面这些文件,根据 CMakeLists.txt 生成编译规则(如 Makefile)
make
根据 Makefile
编译出可执行文件
./opencv_example
运行编译好的程序,执行结果如下:
至此,我们便已经完成了使用C++
与OpenCV
加载ONNX
模型进行推理,接下来,我们将调用GPU来进行加速推理,敬请期待。