processNv21 method

Stream<FaceMeshResult> processNv21(
  1. Stream<FaceMeshNv21Image> frames, {
  2. NormalizedRect? roi,
  3. FaceMeshBoxResolver<FaceMeshNv21Image>? boxResolver,
  4. double boxScale = _boxScale,
  5. bool boxMakeSquare = true,
  6. int rotationDegrees = 0,
  7. bool mirrorHorizontal = false,
})

Processes NV21 camera frames coming from a stream.

The behaviour mirrors FaceMeshProcessor.processNv21. Provide at most one of roi or boxResolver.

Implementation

Stream<FaceMeshResult> processNv21(
  Stream<FaceMeshNv21Image> frames, {
  NormalizedRect? roi,
  FaceMeshBoxResolver<FaceMeshNv21Image>? boxResolver,
  double boxScale = _boxScale,
  bool boxMakeSquare = true,
  int rotationDegrees = 0,
  bool mirrorHorizontal = false,
}) async* {
  _validateResolvers<FaceMeshNv21Image>(roi, boxResolver);
  await for (final FaceMeshNv21Image frame in frames) {
    final FaceMeshBox? dynamicBox = boxResolver?.call(frame);
    yield _processor.processNv21(
      frame,
      roi: roi,
      box: dynamicBox,
      boxScale: boxScale,
      boxMakeSquare: boxMakeSquare,
      rotationDegrees: rotationDegrees,
      mirrorHorizontal: mirrorHorizontal,
    );
  }
}