2015-05-09 83 views
0

我想为信德做OCR,在Android应用程序中,这个想法是让人在屏幕上书写,然后捕捉框架,然后将其与预先保存的单词的图像进行比较手机,以及与该框架匹配最多的图像(使用FLANN?)将会有一些文字反对它,而我只是想要发音。所以请告诉我,如果我的方法是错误的,因为我是Android和OpenCV的新手,或者告诉我如何开始?Opencv与Android- OCR

回答

2

如果我理解你的目标,你想比较手机屏幕上写的文字和文字出现的图像,对不对?

我在Android上做了一些OCR,并且使用了OpenCV和Tesseract。

Tesseract是一款真正的OCR引擎,但您需要拥有尽可能“干净”的图像。这就是为什么在使用Tesseract之前需要OpenCV清理它们的原因。

所以给你我的工作流程的主线进行的类似应用程序:

  1. 获取用户写入的字符串或ar中的文本一串串。

  2. 经过OpenCV的获取您预先保存的图像

  3. 处理它们,OpenCV的主要用于这里由摆脱噪声尤其是清洁图像。您应该尝试使用Glaussian Blur,然后使用Adaptive Threshold和Bitwise-NOT(OCR引擎更好地处理您使用Bitwise-NOT获得的黑白图像)

  4. 使用OpenCV获得一些干净的图像后,通过Tesseract处理这些图像。这会为每个包含图像上检测到的文字的图像提供一个字符串。

  5. 将您在Tesseract上收集的不同字符串与用户的文本进行比较,解析每个单词以找出与最佳匹配的文本。

对于您的应用的音频部分,我不知道如何继续,他们必须是一些可能有所帮助的图书馆。

你必须知道,在Android上使用所有这些库是一个相当挣扎,你可能有与该项目的建设问题,请清楚,提供在其官方网站不同的文档。