我正在开发一款进行面部识别的应用程序。其中一个步骤是检测用户的微笑。为此,我目前使用了谷歌的Ml Kit。该应用程序在Android平台上运行良好,但在iOS(如iPhone XR等)上运行时,它无法识别任何图像中的人脸。我已经按照如何集成iOS和Firebase的每个步骤进行了操作,并且它可以正常运行。
以下是我的代码。由于图像不包含任何面孔,因此长度始终为0。传递给参数的图像来自image_picker插件。
以下是我的代码。由于图像不包含任何面孔,因此长度始终为0。传递给参数的图像来自image_picker插件。
Future<Face> verifyFace(File thisImage) async {
var beforeTime = new DateTime.now();
final image = FirebaseVisionImage.fromFile(thisImage);
final faceDetector = FirebaseVision.instance.faceDetector(
FaceDetectorOptions(
mode: FaceDetectorMode.accurate,
enableClassification: true,
),
);
var processedImages = await faceDetector.processImage(image);
print('Processing time: ' +
DateTime.now().difference(beforeTime).inMilliseconds.toString());
if (processedImages.length == 0) {
throw new NoFacesDetectedException();
} else if (processedImages.length == 1) {
Face face = processedImages.first;
if(face.smilingProbability == null){
throw new LipsNotFoundException();
}
else {
return face;
}
} else if (processedImages.length > 1) {
throw new TooManyFacesDetectedException();
}
}
如果有人有任何技巧或能告诉我我做错了什么,我将非常感激。