DetectableImage.fromCamera constructor

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

Implementation

factory DetectableImage.fromCamera(
    CameraImage image, CameraDescription camera) {
  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 =
      InputImageRotationValue.fromRawValue(camera.sensorOrientation) ??
          InputImageRotation.rotation0deg;

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

  // final planeData = image.planes.map((Plane plane)
  // {
  //     return InputImagePlaneMetadata(bytesPerRow: plane.bytesPerRow, height: plane.height, width: plane.width,);
  // }).toList();
  // final inputImageData = InputImageData(size: imageSize, imageRotation: imageRotation, inputImageFormat: inputImageFormat, planeData: planeData,);

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

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