在tesseract中添加任何受过训练的数据文件,并在IOS中使用
我能够编译已经在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环境variables设置为您的“tessdata”目录的父目录。 加载语言“ara”失败
任何帮助将不胜感激。
这是因为文档文件夹没有语言文件。 将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]; } }
看看这里,也许这对你有帮助。
正方体
在这里你可以
-setLanguage: - (BOOL)setLanguage:(NSString *)language
覆盖使用-initWithDataPath:language:定义的语言。
您可能还需要ara.cube.*
文件。
翻转语言的顺序可以提高识别率,一旦你得到它运行。