Бесплатный C++ OCR API для автоматического распознавания номерных знаков
OpenALPR — ведущая открытая C++ OCR библиотека, позволяющая разработчикам программного обеспечения встраивать автоматическое распознавание номерных знаков и распознавание транспортных средств в свои C++ приложения.
Что такое OpenALPR?
OpenALPR — мощная открытая библиотека автоматического распознавания номерных знаков (ALPR), предназначенная для обнаружения и чтения номерных знаков транспортных средств на изображениях и в видеороликах. Созданная с использованием C++ и использующая OCR (оптическое распознавание символов) через Tesseract, OpenALPR позволяет разработчикам программного обеспечения интегрировать возможности распознавания транспортных средств в приложения для автоматизации парковки, систем безопасности, пунктов оплаты проезда и инфраструктуры умных городов. Библиотека включает различные функции, связанные с операциями OCR, такие как распознавание номерных знаков на изображениях и видео, распознавание номерных знаков с потоков видеокамер в реальном времени, поддержка шаблонов номерных знаков, специфичных для регионов, интеграция в пользовательские приложения и многое другое.
OpenALPR — высоко гибкое решение с привязками к другим популярным языкам программирования, таким как C#, Java и Python, что делает его доступным широкому кругу разработчиков. Библиотека доступна как в открытой, так и в коммерческой версии, при этом открытая версия является популярным выбором среди разработчиков программного обеспечения и любителей, желающих экспериментировать с технологией ALPR. Библиотека разработана как кросс‑платформенная и может быть скомпилирована и запущена на Linux, Windows и macOS. Независимо от того, создаёте ли вы систему оплаты проезда, автоматизацию парковки или платформу мониторинга дорожного движения, OpenALPR предоставляет надёжную основу для точного распознавания номерных знаков — без необходимости в облачных сервисах.
Начало работы с OpenALPR
Рекомендуемый способ установки OpenALPR — использовать GitHub. Пожалуйста, используйте следующую команду для быстрой установки.
Установить OpenALPR API через GitHub
git clone https://github.com/openalpr/openalpr.git Установить OpenALPR API через CMake
# Build with CMake
mkdir build
cd build
cmake ..
make
sudo make install
Вы можете также установить его вручную; загрузите последние файлы релиза напрямую из GitHub репозитория.
Распознавание номерного знака с изображения через C++ API
Открытая библиотека OpenALPR предоставляет полную поддержку создания системы автоматического распознавания номерных знаков, использующей OCR и компьютерное зрение для чтения регистрационных номеров транспортных средств на изображениях и видеопотоках. Разработчики могут использовать статические изображения или кадры в реальном времени с камеры, используя OpenCV. Ниже приведён пример кода, демонстрирующий базовый рабочий процесс использования библиотеки OpenALPR C++. Он инициализирует библиотеку, распознаёт номерной знак на файле изображения и выводит результаты вместе с оценкой уверенности.
Как определить распознавание номерных знаков на изображении с помощью C++ API?
from openalpr import Alpr
alpr = Alpr("us", "/path/to/openalpr.conf", "/path/to/runtime_data")
if not alpr.is_loaded():
print("Error loading OpenALPR")
sys.exit(1)
results = alpr.recognize_file("/path/to/image.jpg")
i = 0
for plate in results['results']:
i += 1
print("Plate #%d" % i)
print(" %12s %12s" % ("Plate", "Confidence"))
for candidate in plate['candidates']:
prefix = "-"
if candidate['matches_template']:
prefix = "*"
print(" %s %12s%12f" % (prefix, candidate['plate'], candidate['confidence']))
# Call when completely done to release memory
alpr.unload()
Обработка в реальном времени и распознавание транспортных средств через C++
Открытая библиотека OpenALPR оптимизирована для производительности и может обрабатывать видеопотоки в реальном времени, что делает её подходящей для приложений, требующих мгновенной обратной связи. Помимо чтения номерных знаков, библиотека OpenALPR может также определять марку, модель и цвет транспортного средства, предоставляя более полный набор данных для анализа.
Поддержка распознавания по странам
Библиотека OpenALPR включает поддержку загрузки и распознавания номерных знаков, специфичных для стран, в C++ приложениях. В библиотеке содержатся номерные знаки более чем из 60 стран, и она может даже определить штат, выдавший номер, для всех 50 штатов США, а также для Канады и Мексики.