ObjectDetect 接口文档
人脸检测器,检测图片获取人脸区域,关键点信息。用于美颜,图片人脸检测等。
1. 构造方法
同步构造方法
ObjectDetect objectDetect = (ObjectDetect) CVCenter.getInstance().syncNewDetector(DetectorConstance.DETECTOR_TYPE_OBJECT);
异步构造方法
CVCenter.getInstance().asyncNewDetector(DetectorConstance.DETECTOR_TYPE_OBJECT, new DetectorListener.OnDetectorCreatedListener() { @Override public void onCreated(int type, Object detector) { Log.d(TAG, "onCreated: " + type + "," + detector); ObjectDetect objectDetect = (ObjectDetect) detector; } @Override public void onFailed(String msg) { Log.e(TAG, "onFailed: " + msg); } });
2. 检测方法
MMFrame mmcvFrame = new MMFrame();
ObjectDetectInfo info = new ObjectDetectInfo();
mmcvFrame.setFormat(MMFrame.MMFormat.FMT_NV21);
mmcvFrame.setDataPtr(data);//data为相机或者图片数据
mmcvFrame.setDataLen(data.length);//数据的大小
mmcvFrame.setWidth(width);//图片宽度
mmcvFrame.setHeight(height);//图片高度
mmcvFrame.setStep_(width);//步距,在nv21模式下,等于宽度的值
ObjectDetectParams params = new ObjectDetectParams();
params.rotate_degree_ = rotateDegree;//旋转角
params.restore_degree_ = restoreDegree;//手机相机安装角度
params.fliped_show_ = flipedShow;//是否是前置,前置需要翻转
params.object_num_ = 1;//最多支持的检测手势个数
objectDetect.ProcessFrame(mmFrame, params, info);//执行检测
ObjectDetectInfo 字段介绍
public class ObjectDetectInfo {
public MMBox[] detect_results_;//MMBox包含了检测到的每一个手势的具体信息
}
MMBox 字段介绍
float score_;//置信分
int class_index_;//识别到的手势的枚举
String class_name_;//识别到的手势的名字
int x_;//继承自父类,手势识别框的左上角坐标x,相对于转换后的坐标
int y_;//继承自父类,手势识别框的左上角坐标y,相对于转换后的坐标
int width_;//继承自父类,手势识别框的宽度
int height_;//继承自父类,手势识别框的高度
3. 释放方法
objectDetect.Realease();