OpenCV自带dnn的Example研究(4)— openpose
这个博客系列,简单来说,今天我们就是要研究
6个文件,看看在最新的OpenCV中,它们是如何发挥作用的。
在配置使用的过程中,需要注意使用较高版本的VS避免编译器兼容问题;由于DNN程序的运行依赖于训练成功的模型,因此需要预先下载准备;此外如果出现各种报错,需要对症下药。
此外,由于需要使用common.hpp文件,所以需要引入dnn目录到include中
用到的数据集都放在:
链接:https://pan.baidu.com/s/1WPoXU3VodErPHZo6Yc21xA
提取码:01no
如果你没找到,那一定是我忘了。
=====================================================================================友善的分割线============================
有了前面的基础,现在我们实现openpose应该是比较有把握的,浏览代码,能够发现这几行代码可以根据pretrained的caffemodel不同,实现不同的处理效果。
这里隐约地体现出dnn模块插件的特性,所需要注意的是还必须根据不同模型采取不同配置:
这肯定是项目的难点。
原代码写的不是太好,在这几个地方都没有参数的判空操作。根据注释,应该这样写调用参数。
看看这个能否识别出来
一口气,一次性将调试参数写对:
--model
=e
:
/
template
/pose_iter_440000.caffemodel
--proto
=e
:
/
template
/openpose_pose_coco.prototxt
--image
=e
:
/
template
/whatisyourname.jpeg
--dataset
=COCO
感觉很奇怪呀,不过我对openpose这块不是很熟悉,换一张正面的图。
正正规规的。
这个就很正,不过速度堪忧。
附件列表