Ios Tesseract OCR不会忽略黑名单字符

Ios Tesseract OCR不会忽略黑名单字符,ios,ocr,tesseract,Ios,Ocr,Tesseract,我正在使用Tessearct OCR识别图像的字符。但是我希望OCR使用 _tesseract->SetVariable("tessedit_char_blacklist", "0123456789"); 通过这种方式,OCR不能识别数字字符,但它为我提供了一些其他字符来代替我不想要的字符 例如:有一个图像的文本为USD 12,当我在该图像上应用OCR时,它为我提供USD fl 正如我们在上面看到的,OCR将12转换为我不想要的fl。我希望OCR忽略12 是否有任何方法可以将结果作为美元

我正在使用Tessearct OCR识别图像的字符。但是我希望OCR使用

_tesseract->SetVariable("tessedit_char_blacklist", "0123456789");
通过这种方式,OCR不能识别数字字符,但它为我提供了一些其他字符来代替我不想要的字符

例如:有一个图像的文本为USD 12,当我在该图像上应用OCR时,它为我提供USD fl

正如我们在上面看到的,OCR将12转换为我不想要的fl。我希望OCR忽略12

是否有任何方法可以将结果作为美元而不是美元fl


为我提供任何解决方案。任何帮助都是值得的。

请参阅此注释了解方法
SetVariable()

我和你有同样的问题,在
Init
之前移动代码修复了它:

tess = new TessBaseAPI();    
tess->SetVariable("tessedit_char_whitelist", 
   "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz");
tess->SimpleInit([dataPath cStringUsingEncoding:NSUTF8StringEncoding],  
   "eng", false);

这不是tessedit\u char\u黑名单的作用
tessedit\u char\u黑名单
保证数字不会出现在图像中。如果你告诉Tesseract不正确的信息,你会得到不好的结果


相反,您希望对Tesseract的输出进行后处理。让它输出正确的OCR,然后去掉数字字符。

你能用正则表达式从输出文本中删除数字字符吗?我想改进结果。您对此有什么想法,以便我可以改进结果吗?Hello@nguyenq我想讨论一些与tesseract sdk相关的问题,您能否加入黑名单中的数字,tesseract被指示用其他可能不正确的字母替换它们--这使得删除真正的数字变得困难。因此,不要将数字列入黑名单,让Tesseract检测它们,然后正则表达式从输出文本中删除它们。识别的准确性仍然很大程度上取决于输入图像的质量,因此,如果可能的话,对其进行预处理。
tess = new TessBaseAPI();    
tess->SetVariable("tessedit_char_whitelist", 
   "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz");
tess->SimpleInit([dataPath cStringUsingEncoding:NSUTF8StringEncoding],  
   "eng", false);