C++程序中使用openpose预测关节点坐标的简易实现
虽然在openpose的官网上已经给出了很多可用的demo,但是如果我们在自己的C++项目中想要使用openpose来预测三维关键点官网给出的例子不是很适用,所以我现在给出了C++程序中使用openpose预测关节点坐标的简易实现,包括CMakeLists.txt的书写.
当然我的程序还是要求先配置好openpose和opencv
这里有一篇很好的博客对于如何使用openpose官方demo做了非常详细的介绍,是使用openpose官方demo非常好的工具:OpenPose命令行参数记录
(1)预测关节点坐标的简单封装op.h
#ifndef CAFFETEST_OP_H
#define CAFFETEST_OP_H
#include "caffe/caffe.hpp"
//OpenPose dependencies
#include <openpose/core/headers.hpp>
#include <openpose/filestream/headers.hpp>
#include <openpose/gui/headers.hpp>
#include <openpose/pose/headers.hpp>
#include <openpose/utilities/headers.hpp>
using namespace std;
#define FLAGS_logging_level 3
#define FLAGS_output_resolution "-1x-1"
#define FLAGS_net_resolution "-1x368"
#define FLAGS_model_pose "BODY_25"
#define FLAGS_alpha_pose 0.6
#define FLAGS_scale_gap 0.3
#define FLAGS_scale_number 1
#define FLAGS_render_threshold 0.05
#define FLAGS_num_gpu_start 0
#define FLAGS_disable_blending false
#define FLAGS_model_folder "/home/litchi/project/openpose/models/"
class OpenPose{
public:
std::unique_ptr<op::PoseExtractorCaffe> poseExtractorCaffe;
std::unique_ptr<op::PoseCpuRenderer> poseRenderer;
std::unique_ptr<op::FrameDisplayer> frameDisplayer;
std::unique_ptr<op::ScaleAndSizeExtractor> scaleAndSizeExtractor;
OpenPose(){
caffe::Caffe::set_mode(caffe::Caffe::GPU);
caffe::Caffe::SetDevice(0);

本文档介绍了如何在C++项目中简便地实现OpenPose预测人体关键点坐标,包括对OpenPose库的简单封装、CMakeLists.txt配置以及运行验证。读者需预先安装OpenPose和OpenCV库。提供的源码与官方demo结果一致。
最低0.47元/天 解锁文章


被折叠的 条评论
为什么被折叠?



