OpenCV自带dnn的Example研究(5)— segmentation

时间:2022-12-25 11:57:11

​https://docs.opencv.org/master/examples.html​​下的



OpenCV自带dnn的Example研究(5)— segmentation


6个文件,看看在最新的OpenCV中,它们是如何发挥作用的。


在配置使用的过程中,需要注意使用较高版本的VS避免编译器兼容问题;由于DNN程序的运行依赖于训练成功的模型,因此需要预先下载准备;此外如果出现各种报错,需要对症下药。


此外,由于需要使用common.hpp文件,所以需要引入dnn目录到include中



OpenCV自带dnn的Example研究(5)— segmentation


用到的数据集都放在:


链接:https://pan.baidu.com/s/1WPoXU3VodErPHZo6Yc21xA 


提取码:01no 


如果你没找到,那一定是我忘了。


=====================================================================================友善的分割线============================


这个例子代码就比较糟糕了,既没有说代码的数据集是什么,也没有提供参考资料。


的帮助下,我们获得以下信息:

​​=       "../../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.



OpenCV自带dnn的Example研究(5)— segmentation



OpenCV自带dnn的Example研究(5)— segmentation