使用tesseract或OpenCV的android的对象检测

我已经成功地集成了tesseract到我的android应用程序,它读取我捕获的图像,但不太准确。 但是大部分时间我都没有得到正确的文本,因为在感兴趣的区域周围的文本也被捕获。

我想要读取的全是矩形区域中的所有文本,准确地说,没有捕获矩形的边缘。 我已经做了一些研究,发布在这个两次的计算器,但仍然没有得到一个快乐的结果!

以下是我做的两个职位:

https://stackoverflow.com/questions/16663504/extract-text-from-a-captured-image?noredirect=1#comment23973954_16663504

在android中从捕获的图像中提取信息

我不确定是继续tesseract还是使用openCV

Solutions Collecting From Web of "使用tesseract或OpenCV的android的对象检测"

包括许多其他的链接和答案,我认为退一步说,实际上有两个光学字符识别(OCR)的基本步骤是好的:

  • 文本检测:这是您的问题的标题和焦点,它涉及本地化包含文本的图像中的区域。
  • 文本识别:这是实际识别发生的地方,其中来自检测的局部图像区域逐个字符地被分段并被分类。 这也是像Tesseract这样的工具发挥作用。

现在,还有两种通用的OCR应用设置:

  • 受控制:这是从扫描仪或类似的自然景物中获取的图像,其中目标是文档,诸如透视图,比例尺,字体,方向,背景一致性等都非常温顺。
  • 不受控制的/场景:这些是比较自然的和野外的照片,例如从摄像机拍摄的照片,您正试图识别路牌,商店名称等。

Tesseract按原样最适用于“受控”设置。 而一般来说,对于场景OCR尤其是“OCR”,“再训练”Tesseract并不会直接提高检测效果,反而可能提高识别效果。

如果您希望改善场景文本检测,请参阅此工作 ; 如果您正在改善场景文字识别,请参阅此工作 。 由于您询问了有关检测的内容,检测参考使用了具有大量实施资源的最大稳定极值区域(MSER),例如,请参阅此处 。

这里也有专门针对Android的文本检测项目:
https://github.com/dreamdragon/text-detection

正如许多人所指出的那样,请记住,承认仍然是一个开放的研究挑战。

改善OCR输出的解决scheme是

  • 要么使用更多的训练数据来更好地训练

  • 使用一些线性滤波器(灰度,高对比度,模糊)过滤它的input,

在聊天中,我们发布了许多描述OCR中使用的过滤技术的链接,但是没有发布示例代码。

一些链接张贴

改进OCR的input

如何训练Tesseract

使用不对称filter的文本增强 < – 本文很容易在google上find,应该充分阅读,因为它很清楚地说明和演示了OCR处理图像之前的必要步骤。

OCR分类