【问题标题】:Tesseract traineddata not working in Swift 3.0 project using version 4.0使用 4.0 版的 Swift 3.0 项目中的 Tesseract 训练数据不工作
【发布时间】:2017-04-29 02:28:51
【问题描述】:

我正在尝试在新的 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

我已将包含 eng.traineddatatessdata 文件夹拖到 Xcode 外部项目的根目录中,并将 reference 从 Finder 拖到 Xcode 的 Project Navigator。

到目前为止一切正常。没有编译器错误、链接器抱怨等。在 UIViewController 中,我正在导入 TesseratOCR 并像这样调用它:

// MARK: - OCR Methods
func scanImage(image: UIImage) {
    if let tesseract = G8Tesseract(language: "eng") {
        tesseract.delegate = self
        tesseract.image = imageToScan?.g8_blackAndWhite()
        tesseract.recognize()

        textView.text = tesseract.recognizedText
    }
}

更新 我找到了一个指向repo of traineddata files for version 4.0 的链接。我对旧的 eng.traineddata 文件进行了核对,并将其替换为 4.0 存储库中的文件。引用同一行时出现相同的错误。

【问题讨论】:

  • 您好,您能找到正确的 .traineddata 文件吗?
  • 使用了 4.0 版,但在同一行仍然出现同样的错误

标签: ios swift ocr tesseract


【解决方案1】:

上面链接在 GitHub 上的当前版本的 eng.traineddata 不适用于当前版本的 Tesseract-OCR-iOS

如果您拥有正确的 &lt;language&gt;.traineddata 文件,则发布在 GitHub 上的安装说明可以完美运行。

我在从Lyndsey Scott's brilliant Tesseract tutorial on Ray Wenderlich 拖动eng.traineddata 后发现了这一点。

This repo 包含使 Tesseract 工作所需的 eng.traineddata 文件。我不确定这是否适用于所有语言。

【讨论】:

  • 也适用于克罗地亚语,所以我认为它也适用于其他语言。谢谢阿德里安!
  • 我们可以从 pod 安装 tessdata 吗?
  • 这太棒了!
  • 感谢您节省了我大约 2 小时 27 分钟的生命。
【解决方案2】:

我昨天遇到了同样的问题,我认为问题出在字典上,我只是将 github 的字典更改为“Lyndsey Scott 的 Ray Wenderlich 上的精彩 Tesseract 教程”字典(之前发布的行)并且效果很好。 我有 xcode 9.4.1,它以不同于 github 文件的方式识别 lyndsey 文件

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多