ios - xcode/tesseract,使用图片库中的图片

标签 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()

它说:

Cannot convert value of type UIImagePickerController

我该如何解决?

最佳答案

您将image 对象声明为UIImagePickerController 类型:

let image = UIImagePickerController()

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

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

关于ios - xcode/tesseract,使用图片库中的图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46427777/

相关文章:

ios - 在动态框架内生成框架文件夹

iphone - 如何使用ABPeoplePicker获取电子邮件?

ios - Xcode 二进制不包括图像

opencv - 如何通过在python中使用pytesseract和opencv-python来识别其他较大对象下的变形文本?

iphone - 如何在 iOS 上构建和安装 yajl-objc

ios - VectorKit MapKit 堆栈溢出崩溃

ios - 如何在进入后台后杀死 NSTimer 并在应用程序恢复事件后创建一个新计时器?

stdlib cdefs.h 中的 C++ 错误?

javascript - Tesseract.js 与 React : Tainted canvases may not be exported

python - 使用 PyTesser 破解简单的验证码