Tesseract&tesseractOCRiOS

安装tesseract在上篇。

1、安装之后默认语言包只有英文包,在github上下载中文简体,链接:https://github.com/tesseract-ocr/tessdata

 然后放入tessdata文件中,/usr/local/share/tessdata

 

2、然后就可以识别文字了

在同等目录下

tesseract 333.jpg output_333 -l chi_sim

会在目录下生成一个output_333.text文件

TesseractOCRiOS

直接pod TesseractOCRiOS到工程

platform :ios,'8.0'
target "TesseractDemo" do
pod 'TesseractOCRiOS', '~> 4.0.0'
end

将Enable Bitcode 改为NO

引用的.m文件改为.mm

导入#import <TesseractOCR/TesseractOCR.h>

在工程下新建一个tessdata文件夹放置语言包

- (void)tesseractRecogniceWithImage:(UIImage *)image compleate:(void(^)(NSString *text))compleate {
    G8Tesseract *tesseract = [[G8Tesseract alloc]initWithLanguage:@"eng+chi_sim"];
    //模式
    tesseract.engineMode = G8OCREngineModeTesseractOnly;
    tesseract.maximumRecognitionTime = 10;
    tesseract.pageSegmentationMode = G8PageSegmentationModeAuto;
    //灰化 如果是英文或者数字推荐使用。如果是汉字不推荐使用
    //tesseract.image = [image g8_blackAndWhite];
    tesseract.image = image;
    [tesseract recognize];
    compleate(tesseract.recognizedText);
}

目前出现的问题有在上面链接中下载的chi_sim语言包放在项目中会报

actual_tessdata_num_entries_ <= TESSDATA_NUM_ENTRIES:Error:Assert failed:in file tessdatamanager.cpp, line 53

应该是语言包的版本和tesseract的版本不一致导致的。

在这个链接下中文语言包就好了

https://github.com/tesseract-ocr/tessdata/blob/bf82613055ebc6e63d9e3b438a5c234bfd638c93/chi_sim.traineddata

posted @ 2018-03-22 11:14  小师傅啊小师傅  阅读(2704)  评论(0编辑  收藏  举报