这个博客系列,简单来说,今天我们就是要研究

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

一口气,一次性将调试参数写对:
--model=e:/template/pose_iter_440000.caffemodel --proto=e:/template/openpose_pose_coco.prototxt --image=e:/template/whatisyourname.jpeg --dataset=COCO


OpenCV自带dnn的Example研究(4)— openpose-LMLPHP
感觉很奇怪呀,不过我对openpose这块不是很熟悉,换一张正面的图。
OpenCV自带dnn的Example研究(4)— openpose-LMLPHP
正正规规的。
OpenCV自带dnn的Example研究(4)— openpose-LMLPHP
这个就很正,不过速度堪忧。

附件列表

05-11 13:04