【发布时间】: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