我的程序解析一行文字。在下面的图片中,我绘制了每个char周围的边界框,来自Tesseract结果迭代器:
显然,Tesseract在分割行中的最后一个字符('5')时遇到一些问题,检测到3个边界框。 事实上,最后一个字符比其他字符大一点,但是为什么当像素blob被如此清晰地阈值化时,Tesseract会如此区分该字符?
我设置了这些Tesseract变量:
tess.setVariable("save_blob_choices", "1");
tess.setPageSegMode(PageSegMode.PSM_SINGLE_LINE);
tess.setVariable(TessBaseAPI.VAR_CHAR_WHITELIST, "0123456789"
and textord_min_xheight set to the pixel height of the above image
有什么建议吗?
答案 0 :(得分:1)
我没有找到解决这个问题的方法。 Tesseract的记录非常糟糕。
我最终找到每个角色的轮廓,然后使用页面分割模式PSM_SYMBOL将角色的每个子图像传递给Tesseract。最后,这也是前一种方法的两倍!