15

似乎我发现自己陷入了用于条码扫描的 Google Vision API 的深草之中。在查看了各种替代库(ZBar、ZXing,甚至是一些收费的第三方实现)之后,我的头脑可能有点焦躁,但是我很难找到关于在哪里可以实现某种扫描的任何信息区域限制。

用例非常简单:如果我是一个用户,我将手机指向一个带有多个相同类型条形码的盒子(想想这里的运输标签),我想明确地指向一些小的取景器或对齐直尺屏幕上正是我想要捕捉的东西,而不必担心感兴趣的区域之外的任何东西会给我一些我不想要的扫描结果。

上面的案例在我见过的大多数其他 Android 库中都有处理,采用具有相对或绝对坐标的 Rect,这也是 iOS 的 AVCapture 元数据结果系统的一部分(它使用相对 CGRect,但实际上相同概念)。

我已经在 此处深入研究了条形码阅读器的示例应用程序,但是除了高级实现细节之外,该实现有点不透明。

对于在相机预览帧内的任何位置成功检测到条形码,对感兴趣区域之外的条形码进行简单的无操作,这似乎是一个丑陋的补丁,因为设备仍在努力计算这些帧。

我错过了一些非常简单和明显的东西吗?有什么想法可以干净地实现这一点,否则?

非常感谢您花时间阅读本文!

4

1 回答 1

3

API 目前没有限制检测区域的选项。但是您可以在预览图像进入条形码检测器之前对其进行裁剪。有关如何使用您自己的类包装检测器的概述,请参见此处:

Mobile Vision API - 连接新的检测器对象以继续帧处理

您将实现“检测”方法以获取从相机接收到的帧,创建帧的裁剪版本,并将其传递给底层检测器。

于 2016-02-19T16:00:46.637 回答