Firebase ML Vision文本在纵向中不起作用

Firebase ML Vision文本在纵向中不起作用,firebase,flutter,exif,firebase-mlkit,mlvision,Firebase,Flutter,Exif,Firebase Mlkit,Mlvision,我对Flatter firebase\u ml\u vision有问题。在iPadMini2上测试时(以前在android上看到过),在拍摄人像时没有检测到文本。它似乎在景观中起作用。我在用原生Android编写原始应用程序时遇到了完全相同的问题(后来我决定用Flutter/Dart制作) 我已经花了几个小时试图弄明白这一点。这似乎是一个已知的问题,但没有就解决方案达成普遍共识 我最接近于它的工作是处理文本,但是读到的文本是混乱的 有没有人遇到过这个问题并找到了有效的解决方案 Future<

我对Flatter firebase\u ml\u vision有问题。在iPadMini2上测试时(以前在android上看到过),在拍摄人像时没有检测到文本。它似乎在景观中起作用。我在用原生Android编写原始应用程序时遇到了完全相同的问题(后来我决定用Flutter/Dart制作)

我已经花了几个小时试图弄明白这一点。这似乎是一个已知的问题,但没有就解决方案达成普遍共识

我最接近于它的工作是处理文本,但是读到的文本是混乱的

有没有人遇到过这个问题并找到了有效的解决方案

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) {..});
Future takePicture()异步{
File imageFile=wait ImagePicker.pickImage(
来源:ImageSource.camera,
图像质量:100,
);
if(imageFile==null){
返回null;
}
final appDir=wait syspath.getApplicationDocumentsDirectory();
最终文件名=path.basename(rotatedFile.path);
final savedImage=wait rotatedFile.copy('${appDir.path}/$fileName');
返回“${appDir.path}/$fileName”;
}
...
Future processText({@required BuildContext,String imageFilePath})异步{
最终FireBaseVision图像Vision图像=
FirebaseVisionImage.fromFilePath(imageFilePath);
final TextRecognizer_recognizer=FirebaseVision.instance.TextRecognizer();
最终VisionText readText=Wait_识别器.processImage(visionImage);
var blocks=readText.blocks;
如果(blocks.length==0){
//***执行此IF块-ML Vision未检测到任何文本。
}
}
imagePath=Wait Vision.takePicture();
Vision.processText(
上下文:上下文,
imageFilePath:imagePath,
)。然后((值){..});