BodyLandmark 接口文档

人体关键点检测器,回吐14个人体关键点。支持多人检测

1. 构造方法

  • 同步构造方法

    BodyLandmark bodyLandmark = (BodyLandmark) CVCenter.getInstance().syncNewDetector(DetectorConstance.DETECTOR_TYPE_BODYJOINT);
    
  • 异步构造方法

       CVCenter.getInstance().asyncNewDetector(DetectorConstance.DETECTOR_TYPE_BODYJOINT, new DetectorListener.OnDetectorCreatedListener() {
                @Override
                public void onCreated(int type, Object detector) {
                    Log.d(TAG, "onCreated: " + type + "," + detector);
                    BodyLandmark bodyLandmark = (BodyLandmark) detector;
                }
    
                @Override
                public void onFailed(String msg) {
                    Log.e(TAG, "onFailed: " + msg);
                }
            });
    

2. 检测方法

MMFrame mmcvFrame = new MMFrame();
BodyLandmarkPostInfo info = new BodyLandmarkPostInfo();
mmcvFrame.setFormat(MMFrame.MMFormat.FMT_NV21);
mmcvFrame.setDataPtr(data);//data为相机或者图片数据
mmcvFrame.setDataLen(data.length);//数据的大小
mmcvFrame.setWidth(width);//图片宽度
mmcvFrame.setHeight(height);//图片高度
mmcvFrame.setStep_(width);//步距,在nv21模式下,等于宽度的值
BodyLandmarkParams params = new BodyLandmarkParams();
        params.rotate_degree_ = rotateDegree;//旋转角
        params.restore_degree_ = restoreDegree;//手机相机安装角度
        params.fliped_show_ = flipedShow;//是否是前置,前置需要翻转
        params.use_tracking_ = true;//是否开启关节点追踪
        params.detect_single_frame_ = false;//检测图片还是视频流
bodyLandmark.ProcessFrame(mmFrame, params, info);//执行检测

BodyLandmarkPostInfo 字段介绍

public class BodyLandmarkPostInfo {
    public MMJoint[][] multi_person_;//每个人对应着一个MMJoint[],每个MMJoint[]描述着一个人的关节点
}

MMJoint 字段介绍

float score_;//置信分
int x_;//关节点位置x
int y_;//关节点位置y
@Copyright © cosmos 2019 all right reserved,powered by Gitbook修订时间: 2019-05-31 10:17:01

results matching ""

    No results matching ""