OpenCV自带dnn的Example研究(4)— openpose

时间:2022-12-25 11:56:17

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



OpenCV自带dnn的Example研究(4)— openpose


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


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


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



OpenCV自带dnn的Example研究(4)— openpose


用到的数据集都放在:


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


提取码:01no 


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


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


有了前面的基础,现在我们实现openpose应该是比较有把握的,浏览代码,能够发现这几行代码可以根据pretrained的caffemodel不同,实现不同的处理效果。



OpenCV自带dnn的Example研究(4)— openpose


这里隐约地体现出dnn模块插件的特性,所需要注意的是还必须根据不同模型采取不同配置:



OpenCV自带dnn的Example研究(4)— openpose


这肯定是项目的难点。



OpenCV自带dnn的Example研究(4)— openpose


原代码写的不是太好,在这几个地方都没有参数的判空操作。根据注释,应该这样写调用参数。


看看这个能否识别出来



OpenCV自带dnn的Example研究(4)— openpose



一口气,一次性将调试参数写对:


​​--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


感觉很奇怪呀,不过我对openpose这块不是很熟悉,换一张正面的图。



OpenCV自带dnn的Example研究(4)— openpose


正正规规的。



OpenCV自带dnn的Example研究(4)— openpose


这个就很正,不过速度堪忧。