1. 原理
我们都知道,yolo
这些深度学习检测算法都是在python下用pytorch
或tf
框架这些训练的,训练得到的是pt或者weight权重文件,这些是算法开发人员做的事情,如何让算法的检测精度更高、速度更快。
但在工程化的时候,一般还是要用C++
实现的,OpenCV
不只是能进行图像的基本处理(以前我太肤浅了),它还有很多能处理深度学习的模块,比如DNN
模块就支持调用多种框架下训练的权重文件。
下面就在VS2017+OpenCV454
环境下进行演示。可以选择4种yolo变体,可以检测图片或视频。
(代码参考这位博主,以下是集成和演示)
2. 图片检测程序
运行代码前,请先配置好VS和OpenCV环境,然后准备好yolo相关权重文件(cfg+weight)。
首先定义yolo.h头文件: