安裝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
