im使用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
的值
我该如何解决?
您将image
对象声明为类型UIImagePickerController
:
let image = UIImagePickerController()
然而,您将其作为字符串传递在UIImage(named: image)?...
中。
您需要为初始器UIImage(named: String)
放置一个字符串,例如UIImage(named: "myImage.png")
。
如果您希望用户能够选择图像然后对其进行处理,则需要从UIImagePickerController
获取图像,然后处理该图像。
关于此主题有很多教程在线可用,例如此主题。