fromCamera static method

Future<DetectableImage> fromCamera(
  1. CameraImage image,
  2. CameraDescription camera
)

Implementation

static Future<DetectableImage> fromCamera(
    CameraImage image, CameraDescription camera) async {

  final WriteBuffer allBytes = WriteBuffer();

  for (final Plane plane in image.planes) {
    allBytes.putUint8List(plane.bytes);
  }

  final bytes = allBytes.done().buffer.asUint8List();

  final Size imageSize =
      Size(image.width.toDouble(), image.height.toDouble());

  final imageRotation =
      mlkit.InputImageRotationValue.fromRawValue(camera.sensorOrientation) ??
          mlkit.InputImageRotation.rotation0deg;

  final inputImageFormat =
      mlkit.InputImageFormatValue.fromRawValue(image.format.raw) ??
          mlkit.InputImageFormat.nv21;

  final inputImageData = mlkit.InputImageMetadata(
    size: imageSize,
    rotation: imageRotation,
    format: inputImageFormat,
    bytesPerRow: image.planes[0].bytesPerRow,
  );

  return DetectableImage(
      mlkit.InputImage.fromBytes(bytes: bytes, metadata: inputImageData));
}