Tesseract-wrapper 0.0.1

Tesseract-wrapper 0.0.1

测试已测试
Lang语言 Objective C++Objective C++
许可 MIT
发布最新发布2014年12月

匿名 维护。



  • 作者
  • ldiqual

Tesseract for iOS

关于

tesseract-ios是一个针对Tesseract OCR的Objective-C封装。

该项目无法在没有 Angelos Suzuki 的博客帖子如何编译和使用Tesseract 3.01于iOS SDK 5的情况下存在。很多代码都来自他的文章。

要求

  • iOS SDK 6.0,iOS 5.0+(不支持armv6)
  • tesseract-ios-lib 仓库中的 Tesseract 和 Leptonica 库。

安装

  • 下载 tesseract-ios-lib 并将其放在您的项目中的某个地方。
  • 将这个仓库中的 Classes 内容放在您的项目中的某个地方。
  • 转到您的项目设置,并确保C++标准库 => 编译器默认

使用方法

以下是从图像中提取文本的默认工作流程:

  • 实例化Tesseract并设置数据路径和语言
  • 设置变量(字符集,…)
  • 设置要分析的照片
  • 开始识别
  • 获取识别的文本

代码示例

#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]);

方法参考

-initWithDataPath:language

- (id)initWithDataPath:(NSString *)dataPath language:(NSString *)language

初始化一个新的Tesseract实例。

  • dataPath:从应用程序包到.traineddata文件的相对路径。您可以在Tesseract下载部分中找到这些文件。
  • language:用于识别的语言。示例:eng。Tesseract将在dataPath目录中搜索一个eng.traineddata文件。

如果实例化失败,则返回nil

-setVariableValue:forKey

- (void)setVariableValue:(NSString *)value forKey:(NSString *)key

将Tesseract变量key设置为value。请参阅http://www.sk-spell.sk.cx/tesseract-ocr-en-variables获取完整(但不一定是最新的)列表。

例如,使用tessedit_char_whitelist可以限制字符集。

-setImage

- (void)setImage:(UIImage *)image

设置要识别的图像。

-setLanguage

- (BOOL)setLanguage:(NSString *)language

覆盖由 -initWithDataPath:language: 定义的默认语言。

-recognize

- (BOOL)recognize

开始文本识别。您可能希望使用 NSObject-performSelectorInBackground:withObject: 在后台启动此过程。

-recognizedText

- (NSString *)recognizedText

获取从图像中提取的文本。