detectFacesFromImage method
Future<void>
detectFacesFromImage(
- CameraImage image
)
Implementation
Future<void> detectFacesFromImage(CameraImage image) async {
try {
final InputImageMetadata metadata = InputImageMetadata(
rotation: _cameraService.cameraRotation ?? InputImageRotation.rotation90deg,
size: Size(image.width.toDouble(), image.height.toDouble()),
format: InputImageFormat.nv21,
bytesPerRow: image.planes[0].bytesPerRow,
);
final WriteBuffer allBytes = WriteBuffer();
for (final Plane plane in image.planes) {
allBytes.putUint8List(plane.bytes);
}
final bytes = allBytes.done().buffer.asUint8List();
final InputImage inputImage = InputImage.fromBytes(
bytes: bytes,
metadata: metadata,
);
List<Face> detectedFaces = await _faceDetector.processImage(inputImage);
// faces.assignAll(detectedFaces);
faces.value = detectedFaces;
faceDetected.value = detectedFaces.isNotEmpty;
} catch (e) {
faces.value=[];
}
}