我能够编译ENGLISH版本,该版本已经在tesseract的样本中,但无法添加其他语言,如ara.traineddata。
我喜欢
Tesseract* tesseract = [[Tesseract alloc] initWithDataPath:@"tessdata" language:@"ara+eng"];
它正在识别英语,但是对于阿拉来说它是错误的
Error opening data file /Users/harshthakur/Library/Application Support/iPhone Simulator/7.0/Applications/3B0A1909-E1BA-45E9-99A0-FDEAB2CFF4E0/Documents/tessdata/ara.traineddata
请确保将TESSDATA_PREFIX环境变量设置为“tessdata”目录的父目录。 加载语言'ara'
失败任何帮助将不胜感激。
答案 0 :(得分:2)
这是因为文档文件夹没有语言文件。将ara.traineddata文件复制到您的包中,并使用此代码将您的语言文件保存在文档文件夹中。然后再试一次。它会正常工作。
- (void)storeLanguageFile {
NSFileManager *fileManager = [NSFileManager defaultManager];
NSString *docsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *path = [docsDirectory stringByAppendingPathComponent:@"/tessdata/ara.traineddata"];
if(![fileManager fileExistsAtPath:path])
{
NSData *data = [NSData dataWithContentsOfFile:[[[NSBundle mainBundle] resourcePath] stringByAppendingString:@"/tessdata/ara.traineddata"]];
NSError *error;
[[NSFileManager defaultManager] createDirectoryAtPath:[docsDirectory stringByAppendingPathComponent:@"/tessdata"] withIntermediateDirectories:YES attributes:nil error:&error];
[data writeToFile:path atomically:YES];
}
}
答案 1 :(得分:1)
看看这里,也许对你有帮助。
在这里你可以
-setLanguage:
- (BOOL)setLanguage:(NSString *)language
覆盖用-initWithDataPath定义的语言:language:。
答案 2 :(得分:1)
您可能还需要ara.cube.*
个文件。
翻译语言的顺序可以提高识别率,一旦你运行它。