我试图在新的Swift 3.0项目中使用Tesseract-OCR-iOS。我正在使用Xcode版本8.1(8B62)。 CocoaPods是1.1.1版。
当我尝试使用tesseract.recognize()
时,我的应用程序崩溃,我在控制台中收到以下输出:
actual_tessdata_num_entries_ <= TESSDATA_NUM_ENTRIES:Error:Assert failed:in file tessdatamanager.cpp, line 53
我找到了this post,这听起来我使用了错误版本的traineddata
。我从the tesseract-ocr/tessdata repo下载了tessdata
,因此我感到困惑的是为什么我的版本号不匹配。
非常感谢任何有关如何使Tesseract工作的建议。以下是其他信息:我的设置。
这是Podfile
的样子:
# Uncomment the next line to define a global platform for your project
platform :ios, '9.0'
target 'TesseractDemo' do
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!
# Pods for TesseractDemo
pod 'TesseractOCRiOS', '4.0.0'
end
我已将包含tessdata
的{{1}}文件夹拖到Xcode以外的项目根目录中,并将引用从Finder拖到Xcode&#39;项目导航器。
到目前为止,一切正常。没有编译器错误,链接器抱怨等。在eng.traineddata
我导入UIViewController
并像这样调用它:
TesseratOCR
更新 我找到了repo of traineddata files for version 4.0的链接。我修改了我的旧eng.traineddata文件,并将其替换为4.0 repo中的文件。我得到引用相同行的相同错误。
答案 0 :(得分:38)
上面在GitHub上链接的eng.traineddata
的当前版本不适用于当前版本的Tesseract-OCR-iOS。
如果您拥有正确的<language>.traineddata
文件,GitHub上发布的安装说明可以正常运行。
我从Lyndsey Scott's brilliant Tesseract tutorial on Ray Wenderlich拖动eng.traineddata
后发现了这一点。
This repo包含让Tesseract工作所需的eng.traineddata
文件。我不确定这是否适用于所有语言。
答案 1 :(得分:-1)
昨天我遇到了同样的问题,我想问题出在字典上,我只是将github的字典更改为“ Lyndsey Scott在Ray Wenderlich上出色的Tesseract教程”字典(前面有几行),并且效果很好。 我有xcode 9.4.1,它以与github文件不同的方式识别lyndsey文件