Tesseract:在Cocoa Touch Framework中无法打开eng.traindata文件

时间:2018-11-19 07:40:13

标签: ios ocr tesseract

我在运行iOS应用程序时遇到以下错误,其中包含嵌入式二进制文件,这是我自己的可可触摸框架,具有以下依赖性

T
"analysis": { "filter": { "indexFilter": { "type": "pattern_capture", "preserve_original": "true", "patterns": [ "([@,$,%,&,!,.,#,^,*]+)", "([\\w,.]+)", "([\\w,@]+)", "([-]+)", "(\\w+)" ] } }, "analyzer": { "indexAnalyzer": { "filter": [ "indexFilter", "lowercase" ], "tokenizer": "whitespace" }, "searchAnalyzer": { "filter": [ "lowercase" ], "tokenizer": "whitespace" } }
"field": { "type": "text", "term_vector": "with_positions_offsets", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } }, "analyzer": "indexAnalyzer", "search_analyzer": "searchAnalyzer" }
{ "from": 0, "size": 24, "query": { "bool": { "should": [ { "multi_match": { "query": "monkey business", "type": "phrase", "slop": "2", "fields": [] } } ], "minimum_should_match": 1 } }, "highlight": { "type": "unified", "fields": { "*": {} } } }

我通过使用此链接中的说明(非Cocoapods安装)获得了"highlight": { "field.keyword": [ "<em>monkey business</em>" ], "field": [ "<em>monkey</em> <em>business</em>" ] } https://github.com/gali8/Tesseract-OCR-iOS/issues/340#issuecomment-351479701

我不使用Cocoapods的TesseractOCR的原因是我需要创建供客户使用的自定义OCR框架。

我也有1) TesseractOCR.framework文件夹引用,其中包含我自己的可可触摸框架中受过训练的数据文件。

当我尝试使用上面列出的依赖项和2) CoreImage.framework创建和调试3) libstdc++.6.0.9.tbd时,工作正常。

但是我的带有框架的iOS应用程序将收到以下错误消息

  

打开数据文件file:///var/mobile/Containers/Data/Application/9669A787-B512-4C02-8DA7-8E77FBEF7B8A/Documents/tessdata/eng.traineddata
  请确保将TESSDATA_PREFIX环境变量设置为“ tessdata”目录的父目录。
  加载语言'eng'失败
  Tesseract无法加载任何语言!

这是我框架的文件夹结构。

enter image description here

这是我的工作流程的结构。请帮我。 enter image description here

1 个答案:

答案 0 :(得分:0)

为了使我的应用程序(客户端应用程序)正常工作,我必须添加tessdata作为对客户端应用程序的引用。当前,没有它,别无他法。