Сначала я передаю изображения одного и того же человека, взяв self ie, а другой pi c - это существующий профиль pi c пользователя, которого я преобразовываю в тип данных File, потому что нет никакого способа непосредственно обнаруживать лица по URL во флаттере. Даже когда оба лица одинаковы, я получаю разные идентификаторы лиц, например 0
и 1
в инструкциях печати. Как решить эту проблему?
Future verifyYourProfile(File image) async {
final faceDetector = FirebaseVision.instance.faceDetector(
FaceDetectorOptions(
enableTracking: true, mode: FaceDetectorMode.accurate),
);
// Assign face ID to selfie from incoming File image called from App.
final selfieVisionImage = FirebaseVisionImage.fromFile(image);
final selfieFace = await faceDetector.processImage(selfieVisionImage);
final int selfieId = selfieFace[0].trackingId;
print(selfieId);
// Assign face ID to profile Picture.
// Convert URL Image to File data type
final response = await get(_imageUrl);
final documentDirectory = await getApplicationDocumentsDirectory();
File file = new File(join(documentDirectory.path, 'verifyImage.png'));
file.writeAsBytesSync(response.bodyBytes);
print('Detecting second face');
// Detect the face.
final faceDetector2 = FirebaseVision.instance.faceDetector(
FaceDetectorOptions(
enableTracking: true, mode: FaceDetectorMode.accurate),
);
final profilePicVisionImage = FirebaseVisionImage.fromFile(file);
final profilePicFace =
await faceDetector2.processImage(profilePicVisionImage);
final int profilePicId = profilePicFace[0].trackingId;
print(profilePicId);
}