VNRecognizeTextRequest не может распознать текст, отсканированный в альбомном режиме - PullRequest
0 голосов
/ 30 января 2020

Я использую VNDocumentCameraViewController для сканирования документа и VNRecognizeTextRequest для обнаружения текста. Работает только в том случае, если документ сканируется в портретном режиме. В ландшафтном режиме это не получается. Я мог бы передать ориентацию в VNImageRequestHandler, но это не помогло бы при портретном сканировании. Опять же, если я пытаюсь проверить ориентацию отсканированного изображения, это всегда .up. Так что я даже не могу манипулировать изображением. У кого-нибудь есть идеи, как решить эту проблему ориентации? Я использую код ниже.

@IBAction func scanTapped(_ sender: UIButton) {
    allComponents = [Component]()
    let documentCameraViewController = VNDocumentCameraViewController()

    documentCameraViewController.delegate = self
    self.present(documentCameraViewController, animated: true, completion: nil)
}

func documentCameraViewController(_ controller: VNDocumentCameraViewController, didFinishWith scan: VNDocumentCameraScan) {
    let image = scan.imageOfPage(at: scan.pageCount-1)


    let handler = VNImageRequestHandler(cgImage: image.cgImage!, options: [:])
    do {
        try handler.perform([textRecognitionRequest])
    } catch {
        print(error)
    }
    controller.dismiss(animated: true)
}
...