本课程内容由 @公众号:小驰笔记出品,欢迎关注公众号,获取更多交流信息~
1、判断检测平台是否支持人脸检测
//获取支持的人脸检测模式
int[] faceDetectModes = Characteristics.get(CameraCharacteristics
.STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES);
//支持最大检测人脸数量
Characteristics.get(CameraCharacteristics.STATISTICS_INFO_MAX_FACE_COUNT);
int mFaceDetectMode = CaptureRequest.STATISTICS_FACE_DETECT_MODE_OFF;
for (int i = 0; i < faceDetectModes.length; i++) {
int face = faceDetectModes[i];
//判断人脸支持程度级别
if (face == CaptureRequest.STATISTICS_FACE_DETECT_MODE_FULL || face == CaptureRequest.STATISTICS_FACE_DETECT_MODE_SIMPLE) {
Log.i(TAG, "相机硬件支持人脸检测---" + face);
mFaceDetectMode = CaptureRequest.STATISTICS_FACE_DETECT_MODE_FULL;
break;
}
}
if (mFaceDetectMode == CaptureRequest.STATISTICS_FACE_DETECT_MODE_OFF) {
Log.i(TAG, "相机硬件不支持人脸检测");
return;
}
2、CaptureRequest 设置人脸检测级别
previewRequestBuilder.set(CaptureRequest.STATISTICS_FACE_DETECT_MODE,
CameraCharacteristics.STATISTICS_FACE_DETECT_MODE_SIMPLE);//设置人脸检测级别
3、CaptureResult 中获取人脸检测信息
Face faces[] = result.get(CaptureResult.STATISTICS_FACES);
if (faces.length > 0) {
//检测到有人脸,控制相机进行拍照操作
}
百度、商汤、arcsoft、旷世等
APP层集成第三方(Arcsoft)人脸算法,前面专门写过2篇相关文章。
1、“全网首发:Android Camera2 集成人脸识别算法”
https://mp.weixin.qq.com/s/RZy6i3Ger8Vhr4V_-ABWmA
2、“Arcsoft人脸识别算法_Camera1、Camera2、CameraX_API的使用”
https://mp.weixin.qq.com/s/jYWVu8fkcj2sTjnl78un-A
深圳上班,
从事Android Camera相关软件开发工作,
公众号记录生活和工作的点滴,