我想使用tesseract进行序列号识别,我只想识别单个字符,没有单词,没有字典。因此,我想使用已经训练好的tesseract字体类型之一作为序列号,以达到更好的识别效果。
这些是经过训练的Tesseract字体类型:
Andale_Mono.ttf
Arial_Black.ttf
Arial_Bold.ttf
Arial.ttf
Comic_Sans_MS_Bold.ttf
Comic_Sans_MS.ttf
Courier_New_Bold.ttf
Courier_New.ttf
Georgia_Bold.ttf
Georgia.ttf
Gottf
Impact.ttf
Times_New_Roman_Bold.ttf
Times_New_Roman.ttf
Trebuchet_MS_Bold.ttf
Trebuchet_MS.ttf
Verdana_Bold.ttf
Verdana.ttf
由于训练的字体类型也有不同的字体设计风格,因此在区分方面存在问题,例如“Z”和“2”字符。Times New Roman的设计更圆润,而Arial只有更多的直线。
我的经验是,由于其他字体设计的相似性发生了变化,tesseract在区分“Z”和“2”时遇到了问题。
因此,我认为如果使用tesseract仅使用一种字体类型(例如Arial)进行字符识别,我可以获得更好的识别结果。
问题:
是否有可能在tesseract中指定字体类型?
类似但较旧的主题(2012年10月)链接
到目前为止,此选项不可用。当前版本是Tesseract 5。
不,但是你可以尝试只用你想要的字体训练你自己的模型。你也可以尝试微调他们现有的eng模型。
有关更多信息,请参阅这些资源:
https://github.com/tesseract-ocr/tesstrain
https://tesseract-ocr.github.io/tessdoc/tess5/TrainingTesseract-5.html
一个公平的警告:这是一个有点复杂的过程,可能需要你一段时间。