ML Vision Text не работает в портретной ориентации

У меня проблема с Flutter firebase_ml_vision. При тестировании на iPad Mini 2 (в прошлом это уже было на Android) текст не обнаруживается при съемке фотографии в портретном режиме. Вроде работает в пейзаже. У меня была такая же проблема, когда я писал оригинальное приложение на Native Android (с тех пор я решил сделать это во Flutter/Dart)

Я потратил несколько часов, пытаясь понять это. Кажется, это известная проблема, но по ее решению нет единого мнения.

Ближе всего к этому я работал с функцией This SO fixExifRotation(), однако читаемый текст зашифрован.

Кто-нибудь сталкивался с этой проблемой и нашел рабочее решение?

Future<String> takePicture() async {
  File imageFile = await ImagePicker.pickImage(
    source: ImageSource.camera,
    imageQuality: 100,
  );

  if (imageFile == null) {
    return null;
  }

  final appDir = await syspaths.getApplicationDocumentsDirectory();
  final fileName = path.basename(rotatedFile.path);

  final savedImage = await rotatedFile.copy('${appDir.path}/$fileName');
  return '${appDir.path}/$fileName';
}

...
Future<MLResult> processText({@required BuildContext context,String imageFilePath}) async {
  final FirebaseVisionImage visionImage =
      FirebaseVisionImage.fromFilePath(imageFilePath);
  final TextRecognizer _recognizer = FirebaseVision.instance.textRecognizer();
  final VisionText readText = await _recognizer.processImage(visionImage);

  var blocks = readText.blocks;
  if (blocks.length == 0) {
    //*** THIS IF BLOCK IS EXECUTED - no text is detected by ML Vision.
  }
}

imagePath = await Vision.takePicture();
Vision.processText(
    context: context,
    imageFilePath: imagePath,
  ).then((value) {..});

0 ответов

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