我正在尝试从美国的驾驶执照中读取信息。但我无法从图像中获得正确的文字。
我正在尝试阅读上面的图像,但我得到了一些奇怪的结果。我得到的东西如下:
7 WISCONSIN ** i _。* 4'L。_-
DRIVER LICENSE常规
'Q555-5555-2555-00 35533
I5 .4 ClassDMXxX Enduslmmls TPXMXX J
性别mnBLQ EyesBl-U 0000.501“0.00.100
X限制0n返回MM 08484005
X E0“。00-20-2010
它珍妮QUINCY
'* 1'3913'ECIJ-SWILEKgSJVEEQIJNSRIEMREKBVAY
jilfccgbwm suns 20s
BLACK RIVER FALLS w:54015-0000
这些词很少是正确的。我需要做些什么才能获得更准确的信息? 我的代码:
Tesseract* tesseract4 = [[Tesseract alloc] initWithDataPath:@"tessdata" language:@"eng"];
[tesseract4 setVariableValue:@"*'\"-_:.0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" forKey:@"tessedit_char_whitelist"];
[tesseract4 setImage:[UIImage imageNamed:@"dlWI.jpg"]];
[tesseract4 recognize];
NSLog(@"%@", [tesseract4 recognizedText]);
答案 0 :(得分:1)
在这里试一试这个问题,它解释了如何将图像转换为灰度并稍微处理图像,以提高Tessseract结果的质量
iOS Tesseract OCR Image Preperation
同样值得确保您的白名单仅包含您要处理的字符。因此,如果您不需要:
或_
或*
,请不要将它们包含在白名单中,这应该会稍微清理一下结果