本讲是Android Camera专题系列的第48讲,我们介绍Android Camera2 API专题的FD人脸检测。
更多资源:
资源 | 描述 |
---|---|
在线课程 | 极客笔记在线课程 |
知识星球 | 星球名称:深入浅出Android Camera 星球ID: 17296815 |
极客笔记圈 |
FD模式
CaptureRequest#STATISTICS_FACE_DETECT_MODE,通过CameraCharacteristics# STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES判断支持哪些Mode
STATISTICS_FACE_DETECT_MODE取值 | 描述 |
---|---|
STATISTICS_FACE_DETECT_MODE_OFF | 在CaptureResult中不用包含人脸统计数据,也就是FD算法可以不跑 |
STATISTICS_FACE_DETECT_MODE_SIMPLE | 使能FD算法,在CaptureResult中返回检测到的人脸位置、置信度 |
STATISTICS_FACE_DETECT_MODE_FULL | 使能FD算法,在CaptureResult中返回检测到的人脸位置、置信度、landmarks、face ID |
通过CameraCharacteristics#STATISTICS_INFO_MAX_FACE_COUNT获取最大同时能识别到的人脸数
FD Results
从CaptureResult#STATISTICS_FACES读取人脸检测结果
android.hardware.camera2.params.Face成员 | 描述 |
---|---|
mBounds(Rect) | 人脸的位置,SENSOR_INFO_ACTIVE_ARRAY_SIZE 作为其坐标系 |
mScore(int) | 人脸置信度值[1,100] |
mId(int) | 人脸的唯一标识id,可用于跟踪某个人脸 |
mLeftEye(Point) | 左眼中心的坐标,SENSOR_INFO_ACTIVE_ARRAY_SIZE 作为其坐标系 |
mRightEye(Point) | 右眼中心的坐标,SENSOR_INFO_ACTIVE_ARRAY_SIZE 作为其坐标系 |
mMouth(Point) | 嘴巴中心的坐标,SENSOR_INFO_ACTIVE_ARRAY_SIZE 作为其坐标系 |
使能FD
判断FD是否支持
- FD mode是否包含Simple或Full
-
支持的最大识别人脸数 > 0
使能FD
Preview#startCameraPreview
|--> CameraController2#startFaceDetection
|----> CameraSettings#setFaceDetectMode
|----> CameraSettings#setSceneMode