如何使 google-mlkit 文本识别在 flutter 应用程序中工作

发布于 2025-01-12 17:46:43 字数 769 浏览 2 评论 0原文

我正在尝试制作一个使用 google-mlkit 文本识别来提取收据文本的 flutter 应用程序。我已经成功了,但仍然存在问题。有些单个字母无法被识别,有时甚至完整的单词或数字也无法被识别。

我按照本指南 https://blog 实现了我的应用程序。 codemagic.io/text-recognition-using-firebase-ml-kit-flutter/

在这张图片中,您可以明白我的意思是某些数字和文本没有被拾取。 [1] [1]: https://i.sstatic.net/nR5SP.jpg

有谁知道问题可能是什么?有什么建议吗?预先感谢您的帮助,我将列出我尝试修复它的一些方法。

- 将相机控制器图像分辨率从高更改为最大和超高。 -将我的依赖项更改为最新版本。 -更改为mlkit文本识别v2 -尝试使用 google_ml_vision https://pub.dev/packages/google_ml_vision

(情况也并非如此这些缺失的单词/数字不会用矩形标记。)

I'm trying to make a flutter app that uses google-mlkit text recognition to extract the text of receipts. I got it working but there are still isues. Some single letters don't get recognized and sometimes even full words or numbers dont get picked up.

I implemented my app following this guide https://blog.codemagic.io/text-recognition-using-firebase-ml-kit-flutter/.

In this picture you can see what i mean that some numbers and text dont get picked up. [1]
[1]: https://i.sstatic.net/nR5SP.jpg

Does anyone know what the problem could be? Any suggestions? Thanks in advance for the help and I will list some ways i have tried to fix it.

-Changed the cameracontroller picture resolution from high to max and ultra.
-Changed my dependecy to the newest version.
-Changed to mlkit text recognition v2
-Tried using the google_ml_vision https://pub.dev/packages/google_ml_vision

(Its also not the case that these missing words/numbers dont get marked with a rectangle.)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦中的蝴蝶 2025-01-19 17:46:43

您可以使用 google_ml_kit 包。它与 Google 的独立 ML Kit 配合使用。所以不需要在 firebase 上注册项目。由于 firebase_ml_vision 包已停产,因此建议将其用于独立的 ml 套件。

最近 google_ml_kit 包被分成一组包。对于文本识别,将创建 google_mlkit_text_recognition 软件包。

对于文本识别,您可以使用下面的代码,

final textRecognizer = TextRecognizer();
final RecognizedText recognizedText = await textRecognizer.processImage(inputImage);

String text = recognizedText.text;
for (TextBlock block in recognizedText.blocks) {
  final Rect rect = block.rect;
  final List<Offset> cornerPoints = block.cornerPoints;
  final String text = block.text;
  final List<String> languages = block.recognizedLanguages;

  for (TextLine line in block.lines) {
    // Same getters as TextBlock
    for (TextElement element in line.elements) {
      // Same getters as TextBlock
    }
  }
}

要了解如何使用 google_ml_kit 添加文本识别,您可以参考此 链接

You can use google_ml_kit package. It works with Google's standalone ML Kit. So no need to register project on firebase. It is a recommended package for standalone ml kit as firebase_ml_vission package is discontinued.

Recently google_ml_kit package is split into a set of packages. For text recognition, google_mlkit_text_recognition package is created.

For text recognition, you can use below code,

final textRecognizer = TextRecognizer();
final RecognizedText recognizedText = await textRecognizer.processImage(inputImage);

String text = recognizedText.text;
for (TextBlock block in recognizedText.blocks) {
  final Rect rect = block.rect;
  final List<Offset> cornerPoints = block.cornerPoints;
  final String text = block.text;
  final List<String> languages = block.recognizedLanguages;

  for (TextLine line in block.lines) {
    // Same getters as TextBlock
    for (TextElement element in line.elements) {
      // Same getters as TextBlock
    }
  }
}

To know, how to add text recognition using google_ml_kit, you can refer this link.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文