tflite_flutter & tflite_flutter_helper — как преобразовать изображение в оттенки серого с одним каналом?

Я пытаюсь запустить модель tflite во флаттере, и для этой модели требуются изображения в оттенках серого 48x48, поэтому я пытаюсь преобразовать TensorImage, чтобы иметь входную форму (48, 48, 1), но я не могу. Даже если я использую что-то вроде Image.grayscale , форма остается как (48, 48, 3), так как мне преобразовать ее в (48, 48, 1), т.е. сделать так, чтобы изображение имело только один канал.

Код:

          final interpreter = await Interpreter.fromAsset('model.tflite');

    final inputShape = interpreter.getInputTensor(0).shape;
    final inputType = interpreter.getInputTensor(0).type;
    final outputShape = interpreter.getOutputTensor(0).shape;
    final outputType = interpreter.getOutputTensor(0).type;
    
    ByteData data = await rootBundle.load('assets/1');
    img.Image dataImg = img.decodeImage(data.buffer.asUint8List())!;
    
    TensorImage tensorImage = TensorImage(inputType);
    tensorImage.loadImage(dataImg);

0 ответов

Другие вопросы по тегам