La información de Tesseract no funciona en el proyecto Swift 3.0 con la versión 4.0

Estoy intentando usar Tesseract-OCR-iOS en un nuevo proyecto Swift 3.0. Estoy usando Xcode Versión 8.1 (8B62). CocoaPods es la versión 1.1.1.

Cuando bash utilizar tesseract.recognize() , mi aplicación se bloquea y obtengo el siguiente resultado en la console:

 actual_tessdata_num_entries_ <= TESSDATA_NUM_ENTRIES:Error:Assert failed:in file tessdatamanager.cpp, line 53 

Encontré esta publicación , lo que suena estoy usando la versión incorrecta de traineddata . Descargué tessdata del tessdata tesseract-ocr / tessdata , así que estoy desconcertado por qué tendría una discordancia en los numbers de versión.

Cualquier sugerencia sobre cómo hacer que Tesseract funcione es muy apreciada. A continuación hay información adicional sobre mi configuration.

Podfile es cómo se ve mi 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 una carpeta de tessdata contiene eng.traineddata en el directory raíz de mi proyecto fuera de Xcode y arrastré una reference desde Finder a Xcode's Project Navigator.

Todo funciona bien hasta este punto. No hay errores de comstackdor, linker que gime, etc. En un UIViewController estoy importando TesseratOCR y llamándolo así:

 // 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 } } 

Actualización Encontré un enlace a un repository de files de datos entrenados para la versión 4.0 . Intercambié mi viejo file eng.traineddata y lo reemplacé por el del repository 4.0. Obtengo el mismo error al hacer reference a la misma línea.

La versión actual de eng.traineddata vinculada anteriormente en GitHub no funcionará con la versión actual de Tesseract-OCR-iOS .

Las instrucciones de installation publicadas en GitHub funcionan perfectamente si tienes el file <language>.traineddata .

Descubrí esto después de arrastrar los datos eng.traineddata desde el shiny tutorial de Tesseract de Lyndsey Scott sobre Ray Wenderlich .

Este repository contiene el file eng.traineddata que necesitaba para que Tesseract funcione. No estoy seguro si eso se aplica a todos los idiomas.

Intereting Posts