xcode / tesseract,使用照片库中的图像

时间:2017-09-26 13:22:53

标签: ios xcode tesseract image-recognition text-recognition

我使用tesseract进行文本识别。 我的问题是从照片库中获取照片,然后使用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 个答案:

答案 0 :(得分:1)

您将image对象声明为类型UIImagePickerController

let image = UIImagePickerController()

然而,您已将其作为UIImage(named: image)?...中的字符串传递。

您需要为初始化程序UIImage(named: String)添加一个字符串,例如UIImage(named: "myImage.png") 如果您希望用户能够选择图像然后进行处理,则需要从UIImagePickerController中选取图像,然后处理该图像。
在线提供了许多关于此主题的教程,例如this one