我正在尝试使用 tesseract OCR 扫描名片,我所做的只是发送图像而不进行预处理,这是我正在使用的代码。
Tesseract* tesseract = [[Tesseract alloc] initWithLanguage:@"eng+ita"];
tesseract.delegate = self;
[tesseract setVariableValue:@"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ@.-()" forKey:@"tessedit_char_whitelist"];
[tesseract setImage:[UIImage imageNamed:@"card.jpg"]]; //image to check
[tesseract recognize];
NSLog(@"Here is the text %@", [tesseract recognizedText]);
正如您所看到的,准确度不是 100%,这不是我关心的问题,我想我可以通过一些简单的每次处理来解决这个问题。但是,如果您注意到它混合了底部的两个文本块,从而将地址和其他卡片上的其他信息分开。
我怎么可能使用 Leptonica(或其他可能的 OpenCV)以某种方式对文本进行分组?可能将图像上的文本区域单独发送到 tesseract 进行扫描?我已经在这个问题上停留了一段时间,欢迎任何可能的解决方案!