R中Tesseract包识别相邻重复数字1时遗漏其一的问题咨询
问题原因分析
- 字符粘连导致连通区域合并:近邻插值放大属于硬像素复制,若原图中两个1的间距本身极小,放大后边缘像素易重叠;加上二值化处理时阈值不合理,会将两个1之间的空白区域误识别为前景,最终形成单个连通区域。Tesseract的字符分割逻辑会把连通区域判定为单个字符,这就是两个1被识别成一个的核心原因。
- 预处理操作的反向影响:清理步骤(如去噪的开/闭运算)可能过度填充了两个1之间的细微缝隙,进一步加剧字符粘连;而轻度处理原图时,可能保留了更多干扰像素,让Tesseract的分割算法更难区分紧密的两个1。
- 页面分割模式适配错误:调整
tessedit_pageseg_mode时,若选择了不适合密集字符场景的模式(如PSM_SINGLE_BLOCK(模式6)会将整行视为整体处理,忽略细微字符间隔;PSM_SINGLE_CHAR(模式10)需要精准的单个字符定位,若裁剪或预处理后字符框偏移,反而会让识别失效),自然无法解决问题甚至恶化结果。 - 训练数据特征不匹配:Tesseract默认训练数据中的数字1样本多为标准间距、常规形态的字符,若你图片中的1是窄体、无衬线且间距极近的特殊形态,模型未学习过此类场景的分割逻辑,就会误将两个紧密的1判定为单个字符。
- 右侧裁剪的布局干扰:裁剪右侧噪声时可能破坏了第四行的整体字符布局比例,导致Tesseract的行对齐与字符分割算法出现偏差,间接影响了对两个1的识别。
内容的提问来源于stack exchange,提问作者ayasugihada
相关产品推荐
相关产品推荐

