MomoCVCenter 接口文档-Android
目前最新版本 2.1.2.20210813.1924
MomoCVCenter模块是用于对MMCV算法模块进行版本控制,资源管理,预处理操作的。所有MMCV 检测器的构造,都需要调用CVCenter来完成。
1. 初始化
在application启动中对CVCenter进行初始化
AppID 通过官网入口获取
autoDownload用来控制是否马上准备所有资源,实现预加载功能
CVCenter.getInstance().init(getApplication(), new SDKConfig() {
@Override
public boolean autoDownload() {
return false;
}
@Override
public String getAppId() {
return "AppID";
}
});
2. 提前准备Detectors资源
在使用检测器之前,需要提前准备Detectors的资源。
输入参数为DetectorType[]-需要准备的检测器类型数组,OnDetectorPreparedListener-准备结果监听接口
结果以map形式在DetectorListener.OnDetectorPreparedListener中异步回调
detectorType:检测器枚举类型,见com.immomo.cvcenter.constances.DetectorConstance
/*
* * 检测器跟枚举常量对应关系
* * DetectorConstance.DETECTOR_TYPE_FACE ==> {@link VideoProcessor}
* * DetectorConstance.DETECTOR_TYPE_OBJECT ==> {@link ObjectDetect}
* * DetectorConstance.DETECTOR_TYPE_SEGMENT ==> {@link Segmentation}
* * DetectorConstance.DETECTOR_TYPE_BARENESS ==> {@link BarenessDetect}
* * DetectorConstance.DETECTOR_TYPE_FACERIGV3 ==> {@link FaceRigV3}
* * DetectorConstance.DETECTOR_TYPE_HANDGESTURE ==> {@link HandGesture}
* @param detectorType 需要准备探测器的类型
* @param onDetectorPreparedListener 准备结果回调
*/
public void prepareDetector(@DetectorConstance.DetectorType final int[] detectorType,
final DetectorListener.OnDetectorPreparedListener onDetectorPreparedListener);
示例:
CVCenter.getInstance().prepareDetector(
//该数组包含需要准备的detector
new int[]{DetectorConstance.DETECTOR_TYPE_HANDGESTURE,
DetectorConstance.DETECTOR_TYPE_FACE},
new DetectorListener.OnDetectorPreparedListener() {
@Override
public void onPrepared(Map<Integer, Boolean> result) {
//准备结果回调,key是detectorType,value是是否准备成功
}
});
3. 构造检测器
构造检测器的方式有两种
- 同步构造
- 异步构造
同步构造
同步构造需要在确保探测器已经准备好
返回结果,需要根据type,选择对应的检测器类型去接收
/**
* @return Object 根据type,选择对应的检测器类型去接收
*/
public Object syncNewDetector(@DetectorConstance.DetectorType int type);