tesseract-ios是一个针对Tesseract OCR的Objective-C封装。
该项目无法在没有 Angelos Suzuki 的博客帖子如何编译和使用Tesseract 3.01于iOS SDK 5的情况下存在。很多代码都来自他的文章。
Classes
内容放在您的项目中的某个地方。C++标准库 => 编译器默认
。以下是从图像中提取文本的默认工作流程:
#import "Tesseract.h"
Tesseract* tesseract = [[Tesseract alloc] initWithDataPath:@"tessdata" language:@"eng"];
[tesseract setVariableValue:@"0123456789" forKey:@"tessedit_char_whitelist"];
[tesseract setImage:[UIImage imageNamed:@"image_sample.jpg"]];
[tesseract recognize];
NSLog(@"%@", [tesseract recognizedText]);
- (id)initWithDataPath:(NSString *)dataPath language:(NSString *)language
初始化一个新的Tesseract
实例。
dataPath
:从应用程序包到.traineddata
文件的相对路径。您可以在Tesseract下载部分中找到这些文件。language
:用于识别的语言。示例:eng
。Tesseract将在dataPath
目录中搜索一个eng.traineddata
文件。如果实例化失败,则返回nil
。
- (void)setVariableValue:(NSString *)value forKey:(NSString *)key
将Tesseract变量key
设置为value
。请参阅http://www.sk-spell.sk.cx/tesseract-ocr-en-variables获取完整(但不一定是最新的)列表。
例如,使用tessedit_char_whitelist
可以限制字符集。
- (void)setImage:(UIImage *)image
设置要识别的图像。
- (BOOL)setLanguage:(NSString *)language
覆盖由 -initWithDataPath:language:
定义的默认语言。
- (BOOL)recognize
开始文本识别。您可能希望使用 NSObject
的 -performSelectorInBackground:withObject:
在后台启动此过程。
- (NSString *)recognizedText
获取从图像中提取的文本。