UIKit
UIScannerViewController
Встроенный контроллер для сканирования документов.
Доступен в iOS 13 и более поздних версиях.
Код:
«`swift
import UIKit
// Создание экземпляра UIScannerViewController
let scannerViewController = UIScannerViewController()
// Установка делегата для получения результатов сканирования
scannerViewController.delegate = self
// Запуск контроллера сканирования
present(scannerViewController, animated: true)
«`
AVFoundation
AVCaptureSession
Фреймворк для захвата видео и аудиодвигателя.
Может использоваться для создания собственных решений для сканирования документов.
Код:
«`swift
import AVFoundation
// Создание экземпляра AVCaptureSession
let captureSession = AVCaptureSession()
// Добавление входного устройства (камеры)
guard let device = AVCaptureDevice.default(for: .video) else { return }
let input = try! AVCaptureDeviceInput(device: device)
captureSession.addInput(input)
// Добавление вывода изображения на экран
let previewLayer = AVCaptureVideoPreviewLayer(session: captureSession)
view.layer.addSublayer(previewLayer)
// Начало сеанса захвата
captureSession.startRunning()
«`
Библиотеки сторонних разработчиков
Google Mobile Vision
Библиотека распознавания изображений от Google.
Предоставляет функции обнаружения текста, объектов и лиц.
Код:
«`swift
import GoogleMobileVision
// Создание экземпляра VisionImage
let visionImage = VisionImage(image: scannedImage)
// Выполнение обнаружения текста
let textRecognizer = Vision.TextRecognizer()
let results = try! textRecognizer.process(image: visionImage)
// Извлечение текста из результатов
for block in results.blocks {
for line in block.lines {
for element in line.elements {
print(element.text)
}
}
}
«`
Tesseract OCR
Библиотека оптического распознавания символов (OCR) с открытым исходным кодом.
Может распознавать текст более чем на 100 языках.
Код:
«`swift
import TesseractOCR
// Создание экземпляра Tesseract
let tesseract = G8Tesseract()
// Установка языка
tesseract.language = «eng»
// Распознавание текста из изображения
let recognizedText = tesseract.recognize(scannedImage)
// Извлечение текста из результатов
print(recognizedText)
«`