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