我正在学习如何使用Tesseract API,我对hOCR输出函数感兴趣。目前,我正在使用此代码扫描图像。
Tesseract* tesseract = [[Tesseract alloc] initWithLanguage:@"eng"];
tesseract.delegate = self;
[tesseract setVariableValue:@"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ@.-():" forKey:@"tessedit_char_whitelist"];
[tesseract setVariableValue:@"0" forKey:@"tessedit_create_hocr"];
UIImage *image = [UIImage imageNamed:@"card.jpg"];
CGFloat newWidth = 1200;
CGSize newSize = CGSizeMake(newWidth, newWidth);
image = [image resizedImage:newSize interpolationQuality:kCGInterpolationHigh];
[tesseract setImage:image]; //image to check
[tesseract recognize];
NSLog(@"Here is the text %@", [tesseract recognizedText]);一切都很好,但是我想知道如何存储由.html函数返回的hOCR。我能把它存储在变量中吗?我需要能够访问这个文件在我的程序后,它已经产生。任何关于如何在hOCR上使用iOS的见解都将不胜感激。
发布于 2014-02-05 11:09:53
如果按以下方式进行,您将得到一个NSString。
- (NSString *)getHOCRText {
char *boxtext = _tesseract->GetHOCRText(0);
return [NSString stringWithUTF8String:boxtext];
}稍后,您可以将此NSString转换为NSData。
NSData *xmlData = [xmlString dataUsingEncoding:NSASCIIStringEncoding];以便您可以使用NSXMLParser解析此数据。
NSXMLParser *xmlParser = [[NSXMLParser alloc] initWithData:xmlData];希望您了解剩余的解析过程。
https://stackoverflow.com/questions/21541830
复制相似问题