JavaCV(OpenCV)点阵字符改进

时间:2017-04-22 16:03:41

标签: java image opencv image-processing javacv

自从过去两周(我已经做足够的R& D)识别来自具有点阵字符的扫描文档中的字符以来,我一直被困住。我正在使用tess4j(Tesseract)Java库来识别字符。由于tess4j不支持或不能很好地处理点阵字符,因为在训练时字符是由间隙分隔的。

所以,我决定这样做:

  1. 使用JavaCV(Open CV)java库对扫描图像进行一些图像处理。
  2. 使用Adobe illustrator,为JavaCV创建的图像中的每个字符创建svg。 (我不知道为什么跟踪的svg图像看起来与原始图像不同)
  3. 从所有a-z svgs创建字体。
  4. 为此字体训练tesseract并识别字符。
  5. 到目前为止,我在识别文本方面的准确率达到了60-65%。

    我很确定,我必须在JavaCV中做错事,因为我非常非常新手。以前我使用简单的基于像素的图像处理,我发现它非常糟糕,并发现JavaCV(OpenCV)是图像处理的最佳开源库。

    直到我更新的JavaCV代码:

    Imgproc.resize(Main, Main, new Size(900, 200));
    Imgproc.threshold(Main, Main, 200, 255, Imgproc.THRESH_TOZERO);
    Imgproc.threshold(Main, Main, 200, 255, Imgproc.THRESH_OTSU);
    

    检查扫描图像的附件:

    Image 1

    Image 2

    如何获得清晰类型和连接的文本字符图像?

0 个答案:

没有答案