Бесплатный Swift OCR API для считывания номеров ID и банковских карт

Открытая лучшая Swift библиотека оптического распознавания символов (OCR) для распознавания и считывания номеров с удостоверений личности, банковских карт, номеров домов и документов через бесплатный Swift API.

Что такое Evil?

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

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

Previous Next

Начало работы с Evil

Рекомендуемый способ установки Evil — использование CocoaPods. Пожалуйста, используйте следующую команду для быстрой установки.

Установить библиотеку Evil через CocoaPods

 pod 'evil'

Установить библиотеку Evil через 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 — сделать распознавание текста на изображениях, таких как банковские карты, удостоверения личности и даже номера дверей, максимально простым для разработчиков. После инициализации библиотеки Evil распознавание текста на изображении сводится к вызову метода recognize; следующий пример демонстрирует, как это сделать.

Как распознать номера на изображении через 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‑команд.

Как читать и записывать в конкретный адрес памяти через 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 будет загружать его во время выполнения.

Как получить доступ к модели по удалённому URL через 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)
 Русский