Бесплатная Swift OCR библиотека для выполнения OCR на отсканированных изображениях и PDF
Открытая Swift библиотека оптического распознавания (OCR) позволяет бесплатно сканировать, распознавать и извлекать текст из фотографий, отсканированных изображений и PDF в iOS и macOS
Что такое SwiftyTesseract?
SwiftyTesseract — ведущая, открытая OCR‑библиотека, разработанная специально для экосистемы Swift, позволяющая разработчикам программного обеспечения бесшовно интегрировать продвинутое оптическое распознавание символов в свои iOS и macOS приложения. Используя мощный, проверенный в отрасли движок Tesseract OCR, она предоставляет интуитивный и упрощённый Swift‑интерфейс для точного извлечения текста из изображений, отсканированных документов и различных цифровых медиа. Это делает её идеальной основой для разработчиков, создающих от простых утилит чтения текста до сложных инструментов обработки данных, требующих надёжного сканирования и распознавания текста в среде Apple.
Эта библиотека упрощает интеграцию OCR, оборачивая функциональность Tesseract в простой и удобный для разработчика API. Она предлагает широкую универсальность сразу «из коробки», включая надёжную поддержку множества языков — критически важную функцию для создания международных приложений. Для обеспечения высокой точности SwiftyTesseract включает необходимые возможности предобработки изображений, повышающие чёткость текста перед распознаванием. Кроме того, разработчики сохраняют детальный контроль, настраивая ключевые параметры конфигурации Tesseract, такие как режим движка OCR и режим сегментации страниц. Сочетание простоты использования, поддержки нескольких языков и глубокой настраиваемости делает SwiftyTesseract уникально гибким и мощным инструментом для разработчиков, решающих широкий спектр задач распознавания текста.
Начало работы со SwiftyTesseract
Рекомендуемый способ установки SwiftyTesseract — использование CocoaPods. Пожалуйста, выполните следующую команду для быстрой установки.
Установить SwiftyTesseract через CocoaPods
pod 'SwiftyTesseract' Вы можете также установить его вручную; загрузите последние файлы релиза напрямую из репозитория GitHub.
Выполнение OCR на изображении с помощью Swift библиотеки
Открытая библиотека SwiftyTesseract упрощает задачу для разработчиков загружать различные типы изображений и выполнять OCR‑операцию в соответствии с их потребностями внутри Swift‑приложений. Вы можете использовать изображение из ресурсов вашего приложения или из любого другого источника. Библиотека может распознавать текст в различных шрифтах, включая Serif, Arial, Sans‑serif и рукописные шрифты. Ниже приведён пример кода, демонстрирующий, как разработчики могут распознавать текст из изображения в Swift‑приложениях.
Как распознать текст из изображения в Swift приложениях?
import SwiftyTesseract
// Load the image
let image = UIImage(named: "image.jpg")!
// Create a Tesseract instance
let tesseract = Tesseract()
// Set the language to English
tesseract.language = "eng"
// Set the image
tesseract.image = image
// Recognize the text
tesseract.recognize() { result in
if let text = result.text {
print("Recognized text: \(text)")
} else {
print("Error recognizing text")
}
}
Поддержка предобработки изображений
Библиотека SwiftyTesseract предоставляет полную поддержку предобработки изображений перед выполнением OCR‑операций в Swift‑приложениях. Например, вы можете преобразовать изображения в градации серого, изменить их размер, отрегулировать контраст, исправить наклон, выполнить бинаризацию и т.д. Ниже показан пример, демонстрирующий, как разработчики могут изменить размер изображения перед выполнением OCR. В этом примере кода функция resizeImage изменяет размер изображения перед его обработкой, что может быть полезно при работе с изображениями высокого разрешения.
Как предобрабатывать изображения перед OCR операциями в Swift приложениях?
func resizeImage(_ image: UIImage, newSize: CGSize) -> UIImage? {
UIGraphicsBeginImageContextWithOptions(newSize, false, 0.0)
image.draw(in: CGRect(origin: .zero, size: newSize))
let newImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return newImage
}
if let resizedImage = resizeImage(image, newSize: CGSize(width: 300, height: 300)) {
tesseract.performOCR(on: resizedImage) { recognizedText in
print("Resized Image OCR result: \(recognizedText ?? "No text found")")
}
}
Многоязычные OCR операции с помощью Swift библиотеки
Открытая библиотека SwiftyTesseract поддерживает распознавание текста более чем на 100 языках, включая английский, испанский, французский, немецкий, китайский и многие другие. Вы можете задать нужные вам языки при инициализации библиотеки. Эта возможность расширяет область применения для международных пользователей и требований к многоязычной обработке. Кроме того, разработчики могут создавать пользовательские словари для повышения точности OCR‑процесса. Ниже показан пример настройки библиотеки для английского и испанского языков. Этот код включает OCR как для английского, так и для испанского, что полезно при обработке документов с смешанным языковым содержимым.
Как выбрать языки для многоязычных OCR операций в Swift приложениях?
let tesseract = SwiftyTesseract(language: [.english, .spanish])
Настраиваемые параметры OCR
Используя открытую библиотеку SwiftyTesseract, разработчики программного обеспечения получают возможность настраивать параметры OCR для повышения точности при работе с конкретными типами документов или языков. Это позволяет тонко настраивать процесс OCR, делая библиотеку адаптируемой к уникальным или сложным сценариям распознавания. Включает возможность задавать языки и переменные OCR в зависимости от требований документа. Ниже приведён пример, показывающий, как разработчики могут настроить режим движка OCR и режим сегментации страниц.
Как настроить режим OCR движка и режим сегментации страниц через Swift API?
let tesseract = SwiftyTesseract(language: .english, engineMode: .lstmOnly)
tesseract.performOCR(on: image, configuration: [.psm(.auto)]) { recognizedString in
if let recognizedString = recognizedString {
print("Recognized text with custom PSM: \(recognizedString)")
}
}