Próbuję użyć Tesseract-OCR-iOS w nowym projekcie Swift 3.0. Używam Xcode w wersji 8.1 (8B62). CocoaPods to wersja 1.1.1.Tesseract trainingdata nie działa w projekcie Swift 3.0 przy użyciu wersji 4.0
Gdy próbuję użyć tesseract.recognize()
moi awarii aplikacji i pojawia się następujący komunikat w konsoli:
actual_tessdata_num_entries_ <= TESSDATA_NUM_ENTRIES:Error:Assert failed:in file tessdatamanager.cpp, line 53
znalazłem this post, który brzmi Używam złą wersję traineddata
. Ściągnąłem tessdata
z the tesseract-ocr/tessdata repo, więc jestem zaskoczony, dlaczego będę miał niezgodność na numery wersji.
Wszelkie sugestie dotyczące sposobu pracy z Tesseract są mile widziane. Poniżej znajdują się dodatkowe informacje dotyczące: mojej konfiguracji.
Oto co moja Podfile
wygląda następująco:
# 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
mam przeciągnięty folder tessdata
zawierający eng.traineddata
do katalogu głównego mojego projektu poza Xcode i przeciągnięty odniesienie z Findera do Xcode Project Navigator.
Wszystko działa dobrze do tego momentu. Brak błędów kompilator, linker marudzenie, itd. W UIViewController
jestem importowania TesseratOCR
i nazywając go tak:
// 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
}
}
Aktualizacja znalazłem link do repo of traineddata files for version 4.0. Zniszczyłem stary plik eng.traineddata i zastąpiłem go plikiem z repozytorium 4.0. Otrzymuję ten sam błąd, odnoszący się do tej samej linii.
Witaj, jesteśmy w stanie znaleźć właściwy plik .traineddata? – Lazy
używana wersja 4.0, ale nadal ma ten sam błąd w tej samej linii – fans3210