【问题标题】:How to crop image on camera preview "Goggles style" - Android如何在相机预览“Goggles 风格”中裁剪图像 - Android
【发布时间】:2012-07-22 12:50:40
【问题描述】:

我正在尝试制作一个从图片中读取文本的小型 Android 应用程序。我已经为 Android 实现了 Tesseract 工具,并且能够识别用相机拍摄的照片中的文本。我现在的问题是拍照距离真的很严格。如果用户必须与他试图阅读的文本保持非常精确的距离,这并不是真正的用户友好。

我认为最好的方法是在 Google Goggles 中执行此操作,用户可以裁剪他喜欢扫描的图像的特定部分(在相机预览中)。有没有现成的定制相机(找不到)或者你们中的任何一个人做过吗?

谢谢,拉瑟

【问题讨论】:

  • 也许最好在相机上实现自动对焦,让用户在任何合理的距离使用它。
  • 问题不是失去焦点,问题是如果用户想要扫描特定的文本,当图像上只有想要的文本时,他必须从远处拍照。如果用户从太远的地方拍照,Tesseract 会从图片中找到各种不想要的 *hit。
  • 我不知道 tesseract 是如何工作的,但也许你应该在处理代码中只取图像的一部分,例如中心的一个矩形,并在你的相机预览上做一个覆盖,让用户知道您正在考虑图像的哪一部分。 onPreviewFrame 你可以用相同的矩形裁剪图像并将其传递给 tesseract
  • 这正是我想要寻求帮助的原因。我可以像在Barcode Scanner 中那样做,但它不会消除最初的问题:用户必须与他想要扫描的文本保持准确的距离。像在 Google Goggles 中那样做会是更好的解决方案:用户可以手动确定该区域。不管用户是站在距离文本三英尺还是十英尺的地方,他都可以将相机对准目标,手动选择文本区域,然后“拍照”。
  • 好的,那么您需要在相机预览上创建一个自定义视图,覆盖 onTouch 方法并在事件动作为 action_down 时捕获 x 和 y 坐标,当事件为 action_up 时再次捕获,这样两点你有你的矩形,你可以用它们裁剪图像,因为它将是用户选择。或多或少。

标签: android camera customization crop preview


【解决方案1】:

我认为查看 ZXing 源代码可能是您的最佳选择。它有一个特定的焦点,专注于条形码的主要区域。

【讨论】:

  • 谢谢,我必须调查一下,看看是否可以更改他们在条形码扫描仪中使用的“取景器区域”的大小。
  • @Lasse 对此有何解决方案? :-)
【解决方案2】:

Android 相机应用具有裁剪代码,它没有很多依赖项,并且可以非常简单地集成到您的应用中。签出 AOSP 代码并尝试一下。

【讨论】:

  • 如果我理解正确的话,相机应用程序让用户可以在拍摄后裁剪图像。我正在寻找类似 Google Goggles 中使用的解决方案,用户可以先从相机预览中选择想要的区域,然后拍照,然后应用程序将仅扫描选定的区域。
  • 对。但实际上它在做同样的事情——相机只能以预定义的尺寸拍摄照片,你不能只在运行时选择尺寸。所以谷歌会拍照,裁剪它,然后做 OCR/任何魔法。他们只是让你提前裁剪,让它看起来更好。
【解决方案3】:

我在我的应用程序中遇到了同样的问题。

在这里 (Crop image ala Google Goggles) 您可以找到解决方案,但它不像我想的那么“干净”,所以我仍在寻找更好的解决方案。

编辑:找到了! http://adblogcat.com/a-camera-preview-with-a-bounding-box-like-google-goggles/

【讨论】:

  • 当我下载压缩包时它告诉我输入密码,什么密码?密码是什么?为什么我需要密码?
  • @KatedralPillon “密码是:预览”它写在下载链接下面的行中。
  • 谢谢。我会再去看看。
猜你喜欢
  • 2011-07-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-21
  • 2020-04-02
  • 2016-12-27
  • 1970-01-01
  • 2013-06-05
相关资源
最近更新 更多