Безкоштовний Swift OCR API для зчитування номерів ID та банківських карток

Відкрита провідна Swift бібліотека оптичного розпізнавання символів (OCR) для розпізнавання та зчитування номерів з ID-карт, банківських карток, номерів будинків та документів за допомогою безкоштовного Swift API.

Що таке Evil?

Для розробників програмного забезпечення, які створюють продукти на платформах Apple, інтеграція оптичного розпізнавання символів (OCR) у додатки iOS та macOS спрощується завдяки відкритій бібліотеці Evil. Це рішення на базі Swift використовує потужність Vision framework від Apple, що працює на пристрої, щоб надати високорівневий API для вилучення тексту з зображень з вражаючою ефективністю. Розроблена як інструмент, орієнтований на розробників, Evil спрощує складний процес додавання надійних можливостей OCR, дозволяючи швидко розпізнавати текст з джерел, таких як банківські картки, ID-карти або номери дверей, безпосередньо у ваших Swift‑проектах.

Бібліотека Evil відмінно справляється з вилученням структурованих даних, поєднуючи продуктивність Swift‑рідного коду з надзвичайною гнучкістю завдяки інтеграції моделей Core ML (.mlmodel). Така модельна архітектура дозволяє розробникам розгортати попередньо навчені моделі для негайного використання або навчати та впроваджувати власні моделі, адаптовані до конкретних завдань розпізнавання. Пропонуючи прості API разом із гнучким розгортанням моделей, Evil забезпечує оптимізований, високопродуктивний OCR‑досвід, ідеально підходящий для створення складних функцій вилучення тексту на пристрої у ваших мобільних та настільних додатках для iOS та macOS.

Previous Next

Початок роботи з Evil

Рекомендований спосіб встановлення Evil — використання CocoaPods. Будь ласка, скористайтеся наступною командою для безпроблемної інсталяції.

Install Evil Library via CocoaPods

 pod 'evil'

Install Evil Library via GitHub

 git clone https://github.com/getomni-ai/zerox.git 

Ви можете також встановити її вручну; завантажте останні файли релізу безпосередньо з GitHub репозиторію.

Розпізнавання номерів на зображеннях за допомогою Swift API

Повністю написаний на Swift, Evil підтримує iOS (11.0+) та macOS (10.13+), що робить його універсальним для розробки під нативну екосистему Apple. Відкрита бібліотека Evil пропонує повну підтримку розпізнавання номерів зі структурованих даних у Swift‑додатках. Основна мета бібліотеки Evil — зробити розпізнавання тексту на зображеннях, таких як банківські картки, ID‑карти та навіть номери дверей, якомога простішим для розробників. Після ініціалізації бібліотеки Evil розпізнавання тексту на зображенні стає таким же простим, як виклик методу recognize; нижче наведено приклад, як це зробити.

How to Recognize Numbers from an Image via Swift API?

let image: Recognizable = // Your image (e.g., a UIImage or CGImage)
let result = evil?.recognize(image)
print(result)

// This returns the OCR result—typically the detected number or text as a string 

// Run OCR on Input Image

if let result = evil?.recognize(myImage) {
  print("Detected number: \(result)")
}

Розширене маніпулювання пам’яттю

Відкрита Swift бібліотека оптичного розпізнавання символів Evil дозволяє розробникам безпосередньо отримувати доступ до пам’яті та маніпулювати нею всередині Swift‑додатків. Це робить її корисною для налагодження, хакінгу ігор або тестування безпеки. Нижче наведено корисний приклад, який демонструє читання та запис у конкретну адресу пам’яті за допомогою Swift‑команд.

How to Read and Write to a Specific Memory Location via Swift API?

#include 

int main() {
    uintptr_t address = 0x00400000; // Example memory address
    uint8_t value = evil_read_memory(address); // Read a byte
    evil_write_memory(address, 0x90); // Write a NOP (0x90) instruction
    return 0;
}

Гнучке завантаження моделей за URL

Відкрита бібліотека Evil пропонує кілька способів завантаження ваших моделей Core ML. Ви можете включити їх безпосередньо у ваш додаток або, щоб зменшити початковий розмір завантаження, налаштувати бібліотеку на завантаження моделей з віддаленого сервера під час виконання. Щоб зберегти розмір пакету додатку невеликим, ви можете розмістити файл .mlmodel на сервері, і бібліотека Evil завантажить його під час виконання.

How to Access Model from a Remote URL via Swift API?

let downloadURL = URL(string: "https://your-server.com/ChineseIDCard.mlmodel")!
let chineseIDCard = Recognizer.custom(name: "ChineseIDCard", model: downloadURL, needComplie: true, processor: Recognizer.cropChineseIDCardNumberArea)
let evil = try? Evil(recognizer: chineseIDCard)
 Українська