2017-09-26 106 views
0

使用tesseract進行文本識別。 我的問題是從照片庫中獲取照片,然後使用tesseract。xcode/tesseract,使用圖片庫中的圖片

我的代碼:

import UIKit 
import TesseractOCR 

class ViewController: UIViewController, G8TesseractDelegate, 
UINavigationControllerDelegate, UIImagePickerControllerDelegate { 

@IBOutlet weak var TextView: UITextView! 
@IBAction func takePhoto(_ sender: UIButton) { 

    let image = UIImagePickerController() 
    image.delegate = self 

    image.sourceType = UIImagePickerControllerSourceType.photoLibrary 

    image.allowsEditing = false 


    self.present(image, animated: true){ 

    } 


    if let tesseract = G8Tesseract(language: "dan+eng") { 
     tesseract.delegate = self 
     tesseract.image = UIImage(named: image)?.g8_blackAndWhite() 
     tesseract.recognize() 

     TextView.text = tesseract.recognizedText 
    } 
    func progressImageRecognition(for tesseract: G8Tesseract!) { 
     print("Recognition Progress \(tesseract.progress) %") 
    } 

} 
在該行

tesseract.image = UIImage(named: image)?.g8_blackAndWhite() 

它說:

無法將類型的UIImagePickerController的價值

我如何解決這個問題?

回答

1

你宣佈你image對象UIImagePickerController類型:

let image = UIImagePickerController() 

然而,你把它當作在UIImage(named: image)?...字符串。

您需要爲初始化程序UIImage(named: String)輸入一個字符串,如UIImage(named: "myImage.png")
如果您希望用戶能夠選擇圖像並進行處理,則需要從UIImagePickerController中獲取圖像,然後處理該圖像。
在線有許多關於此主題的教程,例如this one