这个博客系列,简单来说,今天我们就是要研究
6个文件,看看在最新的OpenCV中,它们是如何发挥作用的。
在配置使用的过程中,需要注意使用较高版本的VS避免编译器兼容问题;由于DNN程序的运行依赖于训练成功的模型,因此需要预先下载准备;此外如果出现各种报错,需要对症下药。
此外,由于需要使用common.hpp文件,所以需要引入dnn目录到include中
用到的数据集都放在:
链接:https://pan.baidu.com/s/1WPoXU3VodErPHZo6Yc21xA
提取码:01no
如果你没找到,那一定是我忘了。
=====================================================================================友善的分割线============================
这个例子代码就比较糟糕了,既没有说代码的数据集是什么,也没有提供参考资料。在
https://blog.csdn.net/wanggao_1990/article/details/87166102
https://blog.csdn.net/wanggao_1990/article/details/87166102
的帮助下,我们获得以下信息:
modelPath
=
"../../data/testdata/dnn/fcn8s-heavy-pascal.caffemodel";
configPath
=
"../../data/testdata/dnn/fcn8s-heavy-pascal.prototxt";
classesFile
=
"../../data/dnn/object_detection_classes_pascal_voc.txt";
在模型完整下载的前提下,我们编写参数为:
--model
=e
:
/
template
/fcn8s
-heavy
-pascal.caffemodel
--config
=e
:
/
template
/fcn8s
-heavy
-pascal.prototxt
--classes
=e
:
/
template
/object_detection_classes_pascal_voc.txt
--input
=E
:
/
template
/bike.avi
--mean
=
"0 0 0"
--width
=
500
--height
=
500
--rgb
=
false
结果是非常吃CPU,单帧处理时间,达到了惊人的20s。在下图中,汽车应该是识别成功的,但是旁边那个红色的不是cow.