opencv - Tesseract (Tess4j) 提高准确性

标签 opencv tesseract tess4j

我正在制作一个车牌识别软件,我已经使用 SunnyPage 2.7 训练了我的语言,目前检测效果很好,除了 Tesseract 没有给我好的结果。例如,它显示为 This plate作为 AC2 4529 很好,除了当我用我的语言在 SunnyPage 中加载相同的图像时,我得到 ACZ 4529 这是正确的,我结束了将 Tesseract 配置为 tess.setPageSegMode(10) 单字符模式 分割单个字符并在 Tesseract 中一个接一个地处理每个字符,这提高了准确性但没有那么多,下面是我的 Tesseract 配置

 Tesseract instance = new Tesseract(); //
    instance.setLanguage(LANGUAGE);
    instance.setHocr(false);
    instance.setTessVariable("tessedit_char_whitelist", "ACPBZRT960847152");
    instance.setTessVariable("load_system_dawg", "false");
    instance.setTessVariable("load_freq_dawg", "false");

    instance.setOcrEngineMode(TessOcrEngineMode.OEM_CUBE_ONLY);
    instance.setPageSegMode(TessPageSegMode.PSM_SINGLE_CHAR);
    instance.setPageSegMode(10);

有谁知道我如何才能获得与 SunnyPage 一样好的结果?据我所知,我的图像是好的,它是倾斜的并且分割得很好,所以它很可能单独使用 Tesseract。

最佳答案

最好的办法是使用车牌的实际图像来训练 tesseract。这将使您的结果更加准确,因为 tesseract 实际上会知道 Z 和 2 的样子,并且会更准确地识别它们。

https://github.com/tesseract-ocr/tesseract/wiki/TrainingTesseract

http://vietocr.sourceforge.net/training.html

关于opencv - Tesseract (Tess4j) 提高准确性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43966201/

相关文章:

java - OCR Tesseract - Tess4J 行为怪异

python - 使用opencv将模拟视频抓取到python中

python - 从图像中删除 OCR 词(OpenCV,Python)

ocr - 调整 tesseract 以更好地检测图像中的 URL

java - 使用 Tesseract (tess4j) 进行 OCR 图像预处理的下一步

linux - Tesseract 不使用路径变量

opencv - 如何使用 OpenCV/JavaCV 识别 parking 场?

python - opencv 3.0 beta 创建新模块(可在 Python 中使用)

ocr - 训练 Tesseract 3.02 的最佳方法

java.lang.UnsatisfiedLinkError : The specified module could not be found 错误