Free Swift OCR Library to Perform OCR on Scanned Images & PDFs
Open Source Swift Optical Character Recognition (OCR) Library allows to Scan, Recognize, and Extract Text from Camera Photos Scanned Images & PDFs for free inside iOS and 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 двигателя и режима на сегментация на страницата.
Как да персонализираме режим на 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)")
}
}