Я использую 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)
}