2016-12-13 54 views
16

Yeni bir Swift 3.0 projesinde Tesseract-OCR-iOS kullanmayı deniyorum. Xcode Version 8.1 (8B62) kullanıyorum. CocoaPods sürüm 1.1.1'dir.Tesseract traineddata sürüm 3.0 kullanılarak Swift 3.0 projesinde çalışmıyor

benim app çöker, tesseract.recognize() kullanmaya çalıştığınızda ve ben konsolda aşağıdaki çıktıyı almak:

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

ben traineddata yanlış sürümü kullanıyorum sesini veren this post bulundu. the tesseract-ocr/tessdata repo'dan tessdata'u indirdim, bu yüzden sürüm numaralarında bir uyumsuzluğa neden sahip olduğum konusunda şaşırdım.

Tesseract'ın nasıl çalıştığıyla ilgili her türlü öneri çok beğenilmektedir. Aşağıda ek bilgi yeniden: kurulumum. Xcode dışında Projemin kök dizine eng.traineddata içeren tessdata klasör sürüklenip Xcode Projesi Navigator için Finder bir referansı sürüklemediyseniz

# 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 

:

İşte böyle benim Podfile görünüyor budur.

Her şey bu noktaya kadar iyi çalışıyor. Hiçbir derleyici hataları, bağlayıcı ben TesseratOCR ithal ve böylece gibi diyorum bir UIViewController vb, sızlanan:

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

Güncelleme Ben repo of traineddata files for version 4.0 bir bağlantı bulundu. Eski eng.traineddata dosyamı nosededim ve 4.0 repo'yla değiştirdim. Aynı çizgiye referans veren aynı hatayı alıyorum.

+0

Merhaba, doğru .traineddata dosyasını bulabiliyor musunuz? – Lazy

+0

kullanılmış sürüm 4.0 ama hala aynı satırda aynı hata var – fans3210

cevap

22

GitHub'da yukarıda bağlantılı olan eng.traineddata'un geçerli sürümü, Tesseract-OCR-iOS'un geçerli sürümünde çalışmaz.

GitHub'de gönderilen yükleme yönergeleri, doğru <language>.traineddata dosyasına sahipseniz mükemmel çalışır.

Lyndsey Scott's brilliant Tesseract tutorial on Ray Wenderlich'dan eng.traineddata'u sürükledikten sonra bunu keşfettim.

This repo, Tesseract'ın çalışmasını almam için gereken eng.traineddata dosyasını içerir. Bunun tüm diller için geçerli olup olmadığından emin değilim.

+1

Ayrıca Hırvatça ile çalışır, bu yüzden başka dillerle de çalışacağını farz ediyorum. Teşekkürler Adrian! – user3739902

+0

Podcast'i pod'dan yükleyebilir miyiz? –

+0

Bu harika! – Reem