uniOCR: кроссплатформенный инструмент для распознавания текста с открытым исходным кодом
Общее введение
uniOCR - это инструмент для распознавания текста с открытым исходным кодом, разработанный командой mediar-ai. Он основан на языке Rust и поддерживает macOS, Windows и Linux. Пользователи могут использовать его для извлечения текста из изображений, работа с которыми проста и бесплатна. Основные особенности uniOCR - кроссплатформенная поддержка и унифицированный дизайн интерфейса. Он интегрирует несколько движков OCR, включая Vision Kit для macOS, Windows OCR и Tesseract, а также поддерживает облачный OCR, который может использоваться как индивидуальными пользователями, так и разработчиками для быстрого решения задач по распознаванию изображений и текста. Код проекта является открытым, что позволяет пользователям свободно изменять и расширять его.

Список функций
- Поддерживает системы macOS, Windows и Linux и работает в кроссплатформенном режиме.
- Доступно несколько вариантов движков OCR: macOS Vision, Windows OCR, Tesseract и Cloud OCR.
- Поддерживает извлечение текста из одного или нескольких изображений.
- Предоставьте унифицированный API-интерфейс для облегчения переключения между различными OCR-движками.
- Поддержка асинхронных операций и пакетной обработки для повышения эффективности распознавания.
- Позволяет настраивать такие параметры, как язык, пороги доверия и тайм-ауты.
- Проект с открытым исходным кодом, пользователи могут просматривать и изменять код.
Использование помощи
Процесс установки
Для работы uniOCR требуется среда Rust и соответствующие зависимости. Ниже приведены подробные шаги:
- Установка ржавчины
- Откройте терминал и введите следующую команду для установки Rust:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
- После завершения установки запустите
rustc --version
Проверьте версию, чтобы убедиться, что установка прошла успешно.
- Откройте терминал и введите следующую команду для установки Rust:
- Загрузить исходный код uniOCR
- Клонируйте проект локально с помощью Git:
git clone https://github.com/mediar-ai/uniOCR.git
- Перейдите в каталог проектов:
cd uniOCR
- Клонируйте проект локально с помощью Git:
- Установите Tesseract (необязательно)
- Если вы хотите использовать движок Tesseract, вам необходимо установить его дополнительно:
- macOS: работает
brew install tesseract
- Ubuntu: работает
apt-get install tesseract-ocr
- Windows: работает
winget install tesseract
или загрузите установочный пакет вручную.
- macOS: работает
- Для macOS Vision и Windows OCR дополнительная установка не требуется.
- Если вы хотите использовать движок Tesseract, вам необходимо установить его дополнительно:
- Компиляция проектов
- Запустите в каталоге проекта:
cargo build --release
- После компиляции исполняемый файл находится по адресу
<项目目录>/target/release/
.
- Запустите в каталоге проекта:
- программа бега
- Введите следующую команду для запуска:
cargo run --release
- Введите следующую команду для запуска:
Как использовать
uniOCR позволяет распознавать текст с помощью кодовых вызовов. Ниже описаны основные операции:
- Подготовьте фотографию
- Поместите изображение для распознавания (например.
test.png
) в каталог проектов.
- Поместите изображение для распознавания (например.
- Запустите базовый пример
- компилятор
<项目目录>/examples/basic.rs
Код выглядит следующим образом:use uniocr::{OcrEngine, OcrProvider}; use anyhow::Result; #[tokio::main] async fn main() -> Result<()> { let engine = OcrEngine::new(OcrProvider::Auto)?; let text = engine.recognize_file("test.png").await?; println!("提取的文字: {}", text); Ok(()) }
- Запустите пример:
cargo run --example basic
- Программа выводит текст на изображение.
- компилятор
- Выберите механизм распознавания текста
- модификации
OcrProvider
параметр для переключения двигателей:- macOS Vision:
OcrProvider::MacOS
- Windows OCR:
OcrProvider::Windows
- Тессеракт:
OcrProvider::Tesseract
- macOS Vision:
- Код примера:
let engine = OcrEngine::new(OcrProvider::Tesseract)?;
- модификации
- пакетный файл
- компилятор
<项目目录>/examples/batch_processing.rs
::use uniocr::{OcrEngine, OcrProvider}; use anyhow::Result; #[tokio::main] async fn main() -> Result<()> { let engine = OcrEngine::new(OcrProvider::Auto)?; let images = vec!["img1.png", "img2.png", "img3.png"]; let results = engine.recognize_batch(images).await?; for (i, text) in results.iter().enumerate() { println!("图片 {} 提取的文字: {}", i + 1, text); } Ok(()) }
- Бег:
cargo run --example batch_processing
- компилятор
Функциональное управление
Пользовательские настройки
- uniOCR поддерживает настройку параметров распознавания. Пример кода:
use uniocr::{OcrEngine, OcrProvider, OcrOptions};
let options = OcrOptions::default()
.languages(vec!["eng", "chi_sim"]) // 设置英文和简体中文
.confidence_threshold(0.8) // 置信度阈值
.timeout(std::time::Duration::from_secs(30)); // 超时 30 秒
let engine = OcrEngine::new(OcrProvider::Auto)?.with_options(options);
- После запуска распознавание будет выполнено в заданном порядке.
Поддержка нескольких языков
- Если вы знаете китайский язык, вам необходимо установить китайский языковой пакет для Tesseract:
- macOS/Ubuntu: запустите программу
brew install tesseract-lang
возможноapt-get install tesseract-ocr-chi-sim
- Windows: Скачать
chi_sim.traineddata
в каталоге установки Tesseract.tessdata
Папка. - Установите для параметра "Язык" значение
vec!["chi_sim"]
.
оптимизация производительности
- В uniOCR используется асинхронная работа и параллельная обработка. При пакетном распознавании программа обрабатывает несколько изображений одновременно для экономии времени.
- На высокопроизводительных устройствах, таких как M4 MacBook Pro, macOS Vision может обрабатывать 3,2 изображения в секунду с точностью 90%.
предостережение
- Изображения должны быть четкими, размытость или плохое освещение могут повлиять на распознавание.
- Системы Windows должны быть не ниже Windows 10.
- Для настройки облачного OCR (например, Google Cloud Vision) требуются дополнительные учетные данные, и полный официальный пример на данный момент недоступен.
сценарий применения
- сканирование документов
Пользователи могут сфотографировать бумажный документ, извлечь из него текст с помощью uniOCR и сохранить его в электронном виде. - многоязычный перевод
После распознавания иностранного языка на изображении он работает с инструментами перевода для создания многоязычного текста. - Автоматизированные рабочие процессы
Разработчики могут интегрировать uniOCR в сценарии для пакетной обработки изображений и извлечения текста.
QA
- Какие системы поддерживают uniOCR?
Поддерживает macOS, Windows 10+ и Linux, не требуя дополнительного оборудования. - Как повысить точность распознавания?
Используйте высококачественные изображения, настройте пороги доверия или выберите подходящий механизм OCR. - Что делать, если Tesseract не распознает китайский язык?
Необходимо установить и настроить китайские языковые пакетыlanguages(vec!["chi_sim"])
.
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...