如何在Flutter中使用Google ML Kit实现人脸头部姿态检测?
问题说明
之前我在Flutter应用中使用Firebase ML Kit获取用户头部左右、上下的位置,当时实现较为简便,但如今我无法找到使用Google ML Kit实现相同功能的方法。
以下是我此前基于Firebase ML Kit的相关代码:
初始化实例
final FaceExpressionProvider _expressionProvider = FaceExpressionProvider(); final FaceExpressionUtils _expressionVerifier = FaceExpressionUtils();
表情监听处理逻辑
void _expressionListener() { final Face face = _expressionProvider.face; if (_controller == null) _controller = _expressionProvider.cameraController; var state = _expressionVerifier.process(face); _instruction = _instructionMapper(state); if (state == Instructions.VerificationComplete) { _captureImage(); } setState(() {}); }
指令映射方法
FaceMovementInstruction _instructionMapper(Instructions instruction) { final instructions = [ FaceMovementInstruction( AppLocalizations.of(context).faceNotFound.toUpperCase(), "facenotfound"), FaceMovementInstruction( AppLocalizations.of(context).lookLeft.toUpperCase(), "lookleft"), FaceMovementInstruction( AppLocalizations.of(context).lookRight.toUpperCase(), "lookright"), FaceMovementInstruction( AppLocalizations.of(context).smilePlease.toUpperCase(), "smile"), FaceMovementInstruction( AppLocalizations.of(context).verified.toUpperCase(), "verified"), FaceMovementInstruction( AppLocalizations.of(context).error.toUpperCase(), "error"), ]; switch (instruction) { case Instructions.ShowFace: return instructions[0]; case Instructions.LookLeft: return instructions[1]; break; case Instructions.LookRight: return instructions[2]; break; case Instructions.SmilePlease: return instructions[3]; break; case Instructions.AnalyzingResults: break; case Instructions.VerificationComplete: return instructions[4]; break; } return instructions[5]; }
此前使用的依赖库:import 'package:firebase_ml_vision/firebase_ml_vision.dart';
内容的提问来源于stack exchange,提问作者A. K. M. Shahab Uddin
相关产品推荐
相关产品推荐

