Mr.*_*eep 7 c++ ocr opencv tesseract spaces
我正在使用tesseract来识别序列号.这是可接受的常见问题,如错误识别零和"O",6和5,或M和H存在.除此之外,这个tesseract为识别的单词添加了空格,图像中没有空格.以下图像被识别为"HI 3H".

此图片导致"FBKHJ 1R1"

因此,tesseract增加了一个空间,尽管图像中没有真正的空间.是否有可能参数化tesseract的间距行为?
编辑
对不起,忘了添加,我也有包含空格的序列号.因此,我无法删除已识别序列号中的所有空格.
例如,在将tesseract识别为J4 F1583BB之后,包含序列号中包含空格的以下图像.除了对字符的识别是错误的,用该图像识别空间是正确的.

我的tesseract的实际参数是:
tesseract::TessBaseAPI tess;
tess.Init(NULL, "eng", tesseract::OEM_TESSERACT_ONLY);
tess.SetPageSegMode(tesseract::PSM_SINGLE_BLOCK);
tess.SetVariable("tessedit_char_whitelist",
"ABCDEFGHIJKLMNOPQRSTUVWXYZ012345789");
char* out = tess.GetUTF8Text();
string text = string(out);
Run Code Online (Sandbox Code Playgroud)
编辑
从现有答案中可以看出,"J"和"I"之间的空间似乎比其他字符之间的空间要小得多.我选择的字体类型是Monotype字体.原因是我想,这有助于确定字符识别.这种Monospace字体类型的缺点是每个字符具有相同的宽度,即内核(字符之间的空格)不同.请参阅以下源Source的示例图像

您认为哪种字体类型会获得更好的识别效果?
| 归档时间: |
|
| 查看次数: |
3025 次 |
| 最近记录: |