使用 OCR 移动视觉将图像锚定到检测到的文本

Using OCR mobile vision to anchor image to detected text

我正在使用 Google 的文本识别(移动 vision/ML)来检测相机源上的文本。一旦我检测到文本并确保它等于 "HERE WE GO",我就使用传递的边界在检测到的文本旁边绘制一个心形。

我面临的问题是形状跳跃和滞后。我希望它更像是锚定到检测到的文本。我可以做些什么来改善它吗?

我听说过 ArCore 库,但它似乎是基于现有图像来确定锚点,但在我的情况下,它可以是匹配 "HERE WE GO" 的任何文本。

有什么建议吗?

我相信您正在尝试在相机预览中实时叠加文本。相机输入和检测之间会有很小的延迟。由于 API 在输出 returns 时是异步的,因此您将显示另一帧。 为了减轻这种情况,您可以使用一些 lock/mutex 使处理部分同步,或者覆盖另一个仅在处理完成后刷新的图像。 我们这里有一些例子:https://github.com/firebase/quickstart-android/tree/master/mlkit

我还通过使用 DispatchGroup https://github.com/googlecodelabs/mlkit-ios/blob/master/translate/TranslateDemo/CameraViewController.swift#L245

解决了 iOS 上的类似问题

选项 1: 参考张量流 android 样本 https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples/android

尤其是这些 类: 1. 对象跟踪器:https://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/android/src/org/tensorflow/demo/tracking/ObjectTracker.java

2.Overlay https://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/android/src/org/tensorflow/demo/OverlayView.java

3.Camera Activity 和相机碎片 https://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/android/src/org/tensorflow/demo/CameraActivity.java

选项 2: 可以在下面的代码实验室中找到示例代码。他们正在为条形码做类似的事情。

https://codelabs.developers.google.com/codelabs/barcodes/index.html?index=..%2F..index#0