1. Продукти
  2.   OCR
  3.   Swift
  4.   SwiftyTesseract
 
  

Безкоштовна Swift OCR бібліотека для виконання OCR на сканованих зображеннях та PDF

Бібліотека з відкритим кодом Swift Optical Character Recognition (OCR) дозволяє безкоштовно сканувати, розпізнавати та витягати текст з фотографій, сканованих зображень та PDF у iOS та macOS

Що таке SwiftyTesseract?

SwiftyTesseract — провідна бібліотека з відкритим кодом OCR, створена спеціально для екосистеми Swift, що дає змогу розробникам безшовно інтегрувати складне оптичне розпізнавання символів у свої iOS та macOS додатки. Використовуючи потужний, доведений у промисловості движок Tesseract OCR, вона забезпечує інтуїтивний і спрощений Swift‑інтерфейс для точного вилучення тексту з зображень, сканованих документів та різноманітних цифрових медіа. Це робить її ідеальним фундаментом для розробників, які створюють від простих утиліт читання тексту до складних інструментів обробки даних, що потребують надійного сканування та розпізнавання тексту в середовищі Apple.

Бібліотека спрощує інтеграцію OCR, обгортаючи функціональність Tesseract у простий та дружній до розробника API. Вона пропонує широку універсальність «з коробки», включаючи потужну підтримку багатьох мов — критичну функцію для створення міжнародних застосунків. Для забезпечення високої точності SwiftyTesseract включає необхідні можливості попередньої обробки зображень, які підвищують чіткість тексту перед розпізнаванням. Крім того, розробники зберігають детальний контроль, налаштовуючи ключові параметри конфігурації Tesseract, такі як режим движка OCR та режим сегментації сторінки. Поєднання простоти використання, багатомовної підтримки та глибокої налаштовуваності робить SwiftyTesseract унікально універсальним і потужним інструментом для розробників, які працюють над широким спектром проєктів розпізнавання тексту.

Previous Next

Початок роботи зі 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)")
    }
}

 Українська