我使用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类型的值
我该如何解决?
答案 0 :(得分:1)
您将image
对象声明为类型UIImagePickerController
:
let image = UIImagePickerController()
然而,您已将其作为UIImage(named: image)?...
中的字符串传递。
您需要为初始化程序UIImage(named: String)
添加一个字符串,例如UIImage(named: "myImage.png")
如果您希望用户能够选择图像然后进行处理,则需要从UIImagePickerController
中选取图像,然后处理该图像。
在线提供了许多关于此主题的教程,例如this one。