Android-Java检测文本方向并旋转图像为ocr

时间:2015-11-19 16:35:55

标签: android orientation ocr tesseract text-recognition

我在Android(或iOS)上使用OCR阅读了该卡片。但在这个过程中,如果成功,它就不会颠倒过来。但是角色错了,这个过程失败了。我使用的是tesseratopencv algoritms

此图片的示例。我如何detect text orientationrotate image

enter image description here

1 个答案:

答案 0 :(得分:0)

如果您使用的OCR技术没有专用的自动旋转功能(大多数都这样做,那么仔细检查),那么我使用的技术是检查字符置信度或检查字典中的单词。例如,ABBYY OCR具有专用的自动旋转设置。 OCR-IT API也有自动旋转,也可以在XML结果中返回IsWordFromDictionary等标志。每种OCR技术都可能以不同的方式工作。

如果您预计只有4种可能的旋转,则算法为:

  1. 执行OCR。检查置信度,或字典单词,甚至只是大写(不正确的轮换会产生这样的混乱:DioOpUllltG)。设置接受结果的阈值,例如50%。您希望您的第一个OCR传递来自正确方向的图像(统计方法)。
  2. 如果质量低于您的阈值,则表示您的图像质量低,方向正确或方向错误。旋转并检查剩余的三个方向。选择最好的一个。
  3. 在某些项目中,图像可能处于不可预测的极端角度,例如30度,在执行4次翻转时,OCR在每种情况下都会失败。然后我通常每旋转10度就使用一次OCR传球(36次OCR传球),然后挑选最好的情况。