Сканирование документов и распознавание текстов с помощью VisionKit и Vision Framework на iOS
Сегодня отсканируем документ и выведем на экран распознанный текст из этого документа. Для этого не нужно устанавливать дополнительные библиотеки: пригодятся VisionKit для сканирования и Vision для распознавания текстов.
Для начала убедитесь, что на компьютере установлены Xcode 11 и iOS 13, потом создайте новый проект с поддержкой Storyboard.
Сканирование — с помощью видеокамеры. Значит, нам нужно добавить NSCameraUsageDescription в Info.plist, без этого приложение будет аварийно завершаться.
Сканирование
Для сканирования документов используем VisionKit Framework. Чтобы открыть экран для сканирования, надо создать новый образец из VNDocumentCameraViewController и вывести:
Добавьте VNDocumentCameraViewControllerDelegate во ViewController:
После нажатия «Отмены» или ошибки нужно закрыть открытый экран:
После сканирования и нажатия на «Сохранить» сработает следующее:
Каждую страницу можно обработать по отдельности.
Распознавание текстов
Со сканированием разобрались, теперь извлечем текст.
Чтобы все прошло плавно, распознавание проведем в фоновом режиме. Для этого нужно создать DispatchQueue:
Для распознавания нам нужен VNImageRequestHandler с картинкой и VNRecognizeTextRequest с опциями recognitionLevel, customWords, recognitionLanguages, а также обработчик завершения, который даст результат в текстовом виде. По завершении собираем лучшие варианты текстов и выводим на экран:
Как вариант бюджетный - фотографировать текст сразу в гугл перерводчике, За качество не отвечаю) А если уж хорошо надо, то лучше человека специально обученного нанять за денежку.
Как вариант бюджетный - фотографировать текст сразу в гугл перерводчике, За качество не отвечаю) А если уж хорошо надо, то лучше человека специально обученного нанять за денежку.
Пока самое главное ограничение — нет поддержки русского языка.