getFaceEmbedding method
Generates a face embedding (identity vector) for a detected face.
The face parameter should be a face detection result from detectFacesFromBytes.
The imageBytes parameter should contain the encoded image data.
For pre-decoded cv.Mat input, use getFaceEmbeddingFromMat instead.
Returns a Float32List containing the L2-normalized embedding vector.
Example:
final faces = await detector.detectFacesFromBytes(imageBytes);
final embedding = await detector.getFaceEmbedding(faces.first, imageBytes);
final similarity = FaceDetector.compareFaces(embedding, referenceEmbedding);
if (similarity > 0.6) print('Same person!');
Implementation
Future<Float32List> getFaceEmbedding(Face face, Uint8List imageBytes) async {
_requireReady();
final Object? result = await _sendDetectionRequest<Object?>('embedding', {
'bytes': TransferableTypedData.fromList([imageBytes]),
'eyes': _embeddingEyesPayload(face),
});
return result as Float32List;
}