新しい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
この投稿 が見つかりました。これは、間違ったバージョンの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.traineddata
を含むtessdata
フォルダーを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
}
}
Updateversion 4.0 のトレーニング済みデータファイルのリポジトリへのリンクが見つかりました。古いeng.traineddataファイルを削除し、4.0リポジトリのファイルに置き換えました。同じ行を参照すると同じエラーが発生します。
上記のGitHubにリンクされているeng.traineddata
の現在のバージョンは、現在のバージョンの Tesseract-OCR-iOS では機能しません。
適切な<language>.traineddata
ファイルがあれば、GitHubに掲載されているインストール手順は完璧に機能します。
eng.traineddata
を Lyndsey Scottのレイウェンダリッヒに関するすばらしいTesseractチュートリアル からドラッグした後、これを発見しました。
このレポ には、Tesseractを機能させるために必要なeng.traineddata
ファイルが含まれています。それがすべての言語に当てはまるかどうかはわかりません。