J'essaie d'utiliser Tesseract-OCR-iOS dans un nouveau projet Swift 3.0. J'utilise Xcode version 8.1 (8B62). CocoaPods est la version 1.1. 1.
Lorsque j'essaie d'utiliser tesseract.recognize()
, mon application se bloque et j'obtiens la sortie suivante dans la console:
actual_tessdata_num_entries_ <= TESSDATA_NUM_ENTRIES:Error:Assert failed:in file tessdatamanager.cpp, line 53
J'ai trouvé cet article , ce qui semble que j'utilise la mauvaise version de traineddata
. J'ai téléchargé tessdata
à partir de le repo tesseract-ocr/tessdata , donc je suis perplexe quant à la raison pour laquelle j'aurais un décalage sur les numéros de version.
Toutes les suggestions sur la façon de faire fonctionner Tesseract sont grandement appréciées. Vous trouverez ci-dessous des informations supplémentaires sur ma configuration.
Voici à quoi ressemble mon 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
J'ai fait glisser un dossier tessdata
contenant eng.traineddata
dans le répertoire racine de mon projet en dehors de Xcode et j'ai fait glisser une référence du Finder vers le navigateur de projet de Xcode.
Tout fonctionne bien jusqu'à ce point. Pas d'erreurs de compilation, gémissement de l'éditeur de liens, etc. Dans un UIViewController
j'importe TesseratOCR
et je l'appelle comme ceci:
// 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
}
}
Mise à jour J'ai trouvé un lien vers un dépôt de fichiers traineddata pour version 4.0 . J'ai supprimé mon ancien fichier eng.traineddata et l'ai remplacé par celui du repo 4.0. J'obtiens la même erreur référençant la même ligne.
La version actuelle de eng.traineddata
lié ci-dessus sur GitHub ne fonctionnera pas avec la version actuelle du Tesseract-OCR-iOS .
Les instructions d'installation publiées sur GitHub fonctionnent parfaitement si vous avez le bon <language>.traineddata
fichier.
J'ai découvert cela après avoir fait glisser le eng.traineddata
de le brillant tutoriel de Lyndsey Scott sur Tesseract sur Ray Wenderlich .
Ce dépôt contient le eng.traineddata
fichier dont j'avais besoin pour faire fonctionner Tesseract. Je ne sais pas si cela s'applique à toutes les langues.