有奖捉虫:办公协同&微信生态&物联网文档专题 HOT

功能说明

该接口可通过上传包含人脸的照片获取人物面部特征信息,包括眼睛、眉毛、发型、肤色、性别、年龄等。该接口需要联网环境下才可通过 SDK 把照片上传到 Server 端进行解析。

集成指引

首先需要集成腾讯特效 SDK,具体请参见 独立集成腾讯特效

接口说明

接口所在类:XMagicApi.java
public void getFaceFeatureFromPhoto(Bitmap bitmap, FaceFeatureListener listener);
参数 bitmap:请尽量让人脸位于画面中间,建议画面中只包含一个人脸。如果有多个人脸,SDK 会随机选择一个。建议照片的短边大于等于500px,尺寸过小会影响识别效果。
参数 FaceFeatureListener,返回识别的结果。
public interface FaceFeatureListener {
void onError(int errCode, String msg);
void onFinish(FaceDetailAttributesInfo faceInfo);
}
onError 回调:解析失败时会回调此接口,错误码如下。
public static final int ERROR_NO_AUTH = 1;//没有权限
public static final int ERROR_RES_INVALID = 5;//传入的Avatar素材路径无效
public static final int ERROR_PHOTO_INVALID = 10;//读取照片失败
public static final int ERROR_NETWORK_REQUEST_FAILED = 20;//网络请求失败
public static final int ERROR_DATA_PARSE_FAILED = 30;//网络返回数据解析失败
public static final int ERROR_ANALYZE_FAILED = 40;//人脸分析失败
public static final int ERROR_AVATAR_SOURCE_DATA_EMPTY = 50;//加载Avatar源数据失败
onFinish 回调:解析成功时回调此接口,FaceDetailAttributesInfo 说明如下。
public static class FaceDetailAttributesInfo {
public int age; //[0,100]
public int emotion; //0:自然,1:高兴,2:惊讶,3:生气,4:悲伤,5:厌恶,6:害怕
public Eye eye; // 眼睛信息
public Eyebrow eyebrow; // 眉毛信息
public int gender; // 性别信息。-1:没识别,0:男性,1:女性。
public Hair hair; // 发型信息
public Hat hat; // 帽子信息
public int mask; // 是否有口罩 -1:没识别,0:无,1有。
public int moustache; // 胡子信息。-1:没识别,0:无胡子,1:有胡子。
public int nose; // 鼻子信息。-1:没识别,0:朝天鼻,1:鹰钩鼻,2:普通,3:圆鼻头。
public int shape; // 脸型信息。 -1:没识别,0:方脸,1:三角脸,2:鹅蛋脸,3:心形脸,4:圆脸。
public int skin; // 肤色信息。 -1:没识别,0:黄色皮肤,1:棕色皮肤,2:黑色皮肤,3:白色皮肤。
public int smile; //微笑程度,[0,100]。
}
public static class Eye {
public int eyelidType; // 识别是否双眼皮。-1:没识别,0:无,1:有。
public int eyeSize; // 眼睛大小。-1:没识别,0:小眼睛,1:普通眼睛,2:大眼睛。
public int glass; // 识别是否佩戴眼镜。-1:没识别,0:无眼镜,1:普通眼镜,2:墨镜
public int eyeOpen; // 识别眼睛的睁开、闭合状态。-1:没识别,0:睁开,1:闭眼
}
public static class Eyebrow {
public int eyebrowLength; //眉毛长短。0:短眉毛,1:长眉毛。
public int eyebrowDensity; //眉毛浓密。 0:淡眉,1:浓眉。
public int eyebrowCurve; // 眉毛弯曲。0:不弯,1:弯眉。
}
public static class Hair {
public int length; //头发长度信息。 0:光头,1:短发,2:中发,3:长发,4:绑发。
public int bang; //刘海信息。 0:无刘海,1:有刘海。
public int color; //头发颜色信息。0:黑色,1:金色,2:棕色,3:灰白色。
}
public static class Hat {
public int style; //帽子佩戴状态信息。0:不戴帽子,1:普通帽子,2:头盔,3:保安帽。
public int color; //帽子颜色.0:不戴帽子,1:红色系,2:黄色系,3:蓝色系,4:黑色系,5:灰白色系,6:混色系子。
}