Tesseract(Tess4j)提高准确性

时间:2017-05-14 16:19:20

标签: opencv tesseract tess4j

我正在制作车牌识别软件,我已经使用SunnyPage 2.7训练了我的语言,目前检测是好的,除了Tesseract没有给我很好的结果。例如,它将This plate读为AC2 4529,这很好,除非我使用我的语言在SunnyPage中加载相同的图像时我得到ACZ 4529这是正确的,我最终配置了Tesseract tess.setPageSegMode(10) single character mode分割各个字符并在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一样好的结果?据我所知,我的图像很好,它是skewed并且被很好地分割,所以它最有可能单独使用Tesseract。

1 个答案:

答案 0 :(得分:0)

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

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

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

相关问题