美文网首页
调用tesseract_ocr实现OCR(一)

调用tesseract_ocr实现OCR(一)

作者: WangChen100 | 来源:发表于2018-05-16 15:49 被阅读0次

    摘要

    本文档记录了本人如何使用tesseract_ocr实现字符识别功能。该技术文档包括函数解释与工程实例,如需转载,请注明引用。


    如何提高识别率

    • 外部处理
      • 根据官方技术文档可知,tesseract本身对输入图像会使用一些图像处理并分割字符,但有时效果不佳可以通过以下方法提高。
        • 尺度化
          首先,保证图片大小最好在200X200以上,或者说单个字符至少是30像素X30像素以上(下限是多少我也不知道)。过小识别率会降低。
          其次,适当拉宽图像,以OpenCV为例,使用resize(src, dst, Size(0,0), 1.2, 1.0, INTER_LINEAR);输出图像的width是输入图像的1.2倍,height不变。
        • 二值化
          虽然不二值化tesseract也能识别,但识别的准确率不稳定,因此强烈建议使用二值化操作,增强字符与背景的对比度。


          testing_result1.JPG
        • 去噪
          二值化后图片可能会留下许多噪点,因此去噪是十分有必要的,否则会同样会导致识别错误。


          捕获.JPG

          统计学、形态学去噪都有不错的效果,具体情况具体分析。

        • 旋转校正与去边缘
          tesseract基本不支持旋转变换,因此自行修正旋转。同时边缘结构同样会影响识别。
          总而言之,输入tesseract的图像最好是背景没有噪点、字符工整的。

    相关文章

      网友评论

          本文标题:调用tesseract_ocr实现OCR(一)

          本文链接:https://www.haomeiwen.com/subject/uwincftx.html