convertToInputImage function

InputImage convertToInputImage(
  1. CameraImage cameraImage
)

Implementation

InputImage convertToInputImage(CameraImage cameraImage) {
  final WriteBuffer allBytes = WriteBuffer();

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

  final bytes = allBytes.done().buffer.asUint8List();
  final Size imageSize = Size(cameraImage.width.toDouble(), cameraImage.height.toDouble());
  final InputImageFormat inputImageFormat = InputImageFormatValue.fromRawValue(cameraImage.format.raw) ?? InputImageFormat.nv21;

  final planeData = cameraImage.planes.map(
    (Plane plane) {
      return InputImagePlaneMetadata(
        bytesPerRow: plane.bytesPerRow,
        height: plane.height,
        width: plane.width,
      );
    },
  ).toList();

  final inputImageData = InputImageData(size: imageSize, imageRotation: InputImageRotation.rotation0deg, inputImageFormat: inputImageFormat, planeData: planeData);

  final inputImage = InputImage.fromBytes(bytes: bytes, inputImageData: inputImageData);
  return inputImage;
}