Распознавание текста MLKit на устройстве не работает iOS - PullRequest
0 голосов
/ 27 февраля 2019

Я использую Firebase MLKit для textDetection.Когда я загружаю изображение из библиотеки, мне удается обнаружить текст как CloudTextRecognizer(), так и onDeviceTextRecognizer().Когда я делаю фотографию, я не могу обнаружить текст из onDeviceTextRecognizer().

Вот мой код

import UIKit
import Firebase

class ViewController: UIViewController {
//MARK: Properties
var imagePickerController : UIImagePickerController!
lazy var vision =  Vision.vision()
var textRecognizer : VisionTextRecognizer!

//MARK: Outlets

@IBOutlet weak var detectButton: UIButton!
@IBOutlet weak var imageView: UIImageView!

//MARK: Life Cycle
override func viewDidLoad() {
    super.viewDidLoad()

    imagePickerController = UIImagePickerController()
    textRecognizer = vision.onDeviceTextRecognizer()
    detectButton.isEnabled = false

}

//MARK: -Actions

@IBAction func LibraryButton(_ sender: UIButton) {
    detectButton.isEnabled = false
    imagePickerController.allowsEditing = false
    imagePickerController.sourceType = .camera
    imagePickerController.delegate = self

    present(imagePickerController, animated: true, completion: nil)
}

@IBAction func detectTextButton(_ sender: UIButton) {

    let visionImage = VisionImage(image: imageView.image!)

    textRecognizer.process(visionImage) { (result, error) in

        guard error == nil else{
            print("Error : \(error!.localizedDescription)")
            return
        }

        guard let result = result else {
            print("Error on Results ")
            return
        }

        print(result.text)

    }
}



}

extension ViewController : UINavigationControllerDelegate, UIImagePickerControllerDelegate {

func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
    detectButton.isEnabled = true
    dismiss(animated: true, completion: nil)
}

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {

    if let pickedImage = info[UIImagePickerController.InfoKey.originalImage] as? UIImage {
        DispatchQueue.main.async {
            self.imageView.image = pickedImage
            self.detectButton.isEnabled = true
        }


    }

    dismiss(animated: true, completion: nil)

}
}

Вывод textRecognizer, если что-то вроде этого, он 0z Z

Есть идеи?

Спасибо

...