Бесплатный API оптического распознавания символов для китайских рукописей
Открытый C++ OCR для выполнения операций OCR над китайскими рукописями с использованием шаблонного сопоставления, где символы сравниваются пиксель за пикселем с известными образцами.
Что такое бесплатный C++ OCR?
Оптическое распознавание символов (OCR) в нелатинских скриптах — особенно в китайском — представляет собой уникальные задачи из‑за сложности и разнообразия иероглифов. К счастью, открытый C++ OCR API от Себастьяна Старке предлагает чистое, расширяемое решение, адаптированное для распознавания печатных или рукописных китайских символов, особенно из рукописных источников. Разработанный с упором на простоту и гибкость, этот лёгкий API позволяет разработчикам программного обеспечения экспериментировать с распознаванием символов, используя классические методы обработки изображений, а не тяжёлые модели машинного обучения.
Этот проект не является полнофункциональным нейронным OCR‑движком, как Tesseract. Вместо этого он использует иной подход: шаблонное сопоставление, при котором символы сравниваются пиксель за пикселем с известными образцами. Это делает его идеальным для образовательного использования, контролируемых сред или специфических задач распознавания, таких как анализ исторических рукописей, традиционных китайских наборов шрифтов или наборов упрощённого рукописного ввода. Проект особенно подходит разработчикам, работающим в условиях ограниченных ресурсов, например встраиваемых Linux‑системах, Raspberry Pi или промышленных сканерах, поскольку не полагается на тяжёлые зависимости или библиотеки глубокого обучения.
Начало работы с OCR
Рекомендуемый способ установки OCR — использование GitHub. Пожалуйста, используйте следующую команду для быстрой установки.
Install OCR API via GitHub
Install OCR API via GitHub
git clone https://github.com/sebastianstarke/OCR.git Вы также можете установить его вручную; загрузите последние файлы релиза напрямую из репозитория GitHub.
OCR‑движок на основе шаблонов
Открытый API оптического распознавания символов (OCR) для китайских рукописей на C++ предоставляет полную поддержку использования OCR‑движка на основе шаблонов внутри C++ приложений. В основе этой библиотеки лежит классическая система сравнения изображений: изображения символов бинаризуются и затем сравниваются с шаблонами с помощью метрики расстояния (обычно пиксель‑по‑пиксель сравнение). Для китайского языка это особенно полезно при работе с однородной каллиграфией или печатными рукописями.
How to Perform Template-Based OCR Recognition in C++ apps?
OCR::TemplateCollection templates;
templates.loadFromFolder("templates/"); // Load preprocessed characters
OCR::Recognizer recognizer(templates);
std::string recognizedText = recognizer.recognizeFromImage("scanned_page.png");
Поддержка предобработки изображений
Библиотека OCR с открытым исходным кодом предоставляет полную поддержку функций предобработки изображений внутри C++ приложений. Библиотека предлагает базовую предобработку, такую как пороговая обработка и обрезка, для очистки шумных входных данных. Китайские рукописи часто пишутся на старой бумаге, поэтому очистка изображения имеет решающее значение для получения точных результатов. Ниже приведён пример, демонстрирующий, как с помощью всего нескольких строк кода на C++ разработчики могут выполнять предобработку изображений.
How to Perform Image Preprocessing before OCR Operations inside C++ APPs?
OCR::ImageProcessor processor;
cv::Mat cleanImage = processor.binarize("raw_scan.png");
Поддержка морфологических преобразований
Процесс начинается с серии морфологических преобразований. Это фундаментальные операции обработки изображений, которые изменяют геометрию объектов на изображении. В данном контексте они используются для очистки изображения рукописи, удаления шума и подготовки символов к сегментации.