我需要在我的flutter应用程序中实现实时人脸解锁功能,请建议最好的方法来做到这一点,我还了解了ML_kit(firebase)和openCV,但它们都支持人脸检测,我正在寻找人脸识别。
请推荐Flutter的库或SDK。
发布于 2019-07-14 01:00:08
如果您只想在iOS上使用此功能,并且您使用的是iPhone X,则可以使用local_auth包。
您可以这样使用它:
initializeFaceRecognition() async {
if (Platform.isIOS) {
bool canCheckBiometrics = await _localAuth.canCheckBiometrics;
if (!canCheckBiometrics) {
setState(() => _authenticationResult = 'This device does not support biometrics');
return;
}
List<BiometricType> availableBiometrics = await _localAuth.getAvailableBiometrics();
if (!availableBiometrics.contains(BiometricType.face)) {
setState(() => _authenticationResult = 'This device does not support face recognition');
return;
}
bool didAuthenticate = await _localAuth.authenticateWithBiometrics(localizedReason: 'Authenticate with face recognition', useErrorDialogs: true);
if (didAuthenticate) {
setState(() => _authenticationResult = 'Authenticated');
} else {
setState(() => _authenticationResult = 'Not authenticated');
}
} else {
setState(() => _authenticationResult = 'Not compatible platform');
}
}现在,如果你想在Android上使用它,这在当时是不可能的,因为人脸识别不像指纹那样在API上公开。
在这种情况下,你应该创建自己的ML模型和用于人脸识别的应用程序接口,或者使用像Face API from Azure这样的应用程序接口(这不是实时的,你必须上传图片)。但在这一点上,这应该是另一个问题,因为它超出了Flutter应用程序的范围。
我发现了Trueface应用程序接口,它显然可以让你从直播流中检测人脸。也许这项服务更接近你的需求(它不是免费的)。
https://stackoverflow.com/questions/57018640
复制相似问题