Vision API中的限制检测区域

时间:2016-02-18 18:31:46

标签: android google-vision android-vision

似乎我发现自己处于Google Vision API深层杂草的条形码扫描中。在查看各种替代库(ZBar,ZXing,甚至是一些成本较低的第三方实现)之后,我的思绪可能有点油腻,但我在找到任何可以实现某种扫描的地方的信息时遇到了一些困难。区域限制。

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

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

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

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

我错过了一个非常简单明了的东西吗?关于如何干净利落地实现这一点的任何想法,否则?

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

1 个答案:

答案 0 :(得分:3)

API目前没有限制检测区域的选项。但是您可以在将预览图像传入条形码检测器之前裁剪它。请参阅此处,了解如何使用您自己的类包装检测器:

Mobile Vision API - concatenate new detector object to continue frame processing

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