1. Продукти
  2.   OCR
  3.   C++
  4.   OpenALPR
 
  

Безкоштовний C++ OCR API для автоматичного розпізнавання номерних знаків

OpenALPR — провідна відкрито‑джерельна C++ OCR бібліотека, яка дозволяє розробникам програмного забезпечення вбудовувати автоматичне розпізнавання номерних знаків та розпізнавання транспортних засобів у свої C++ застосунки.

Що таке OpenALPR?

OpenALPR — потужна відкрито‑джерельна бібліотека автоматичного розпізнавання номерних знаків (ALPR), розроблена для виявлення та зчитування номерних знаків транспортних засобів з зображень та відео. Створена на C++ і використовує OCR (оптичне розпізнавання символів) через Tesseract, OpenALPR дозволяє розробникам програмного забезпечення інтегрувати можливості розпізнавання транспортних засобів у додатки для автоматизації паркування, систем безпеки, платних пунктів та інфраструктури «розумного» міста. Бібліотека включає різноманітні функції, пов’язані з OCR, такі як розпізнавання номерних знаків з зображень і відео, розпізнавання номерних знаків з потоків живих камер, підтримка шаблонів номерних знаків для конкретних регіонів, інтеграція у власні застосунки тощо.

OpenALPR — надзвичайно гнучке рішення з прив’язками до інших популярних мов програмування, таких як C#, Java та Python, що робить його доступним широкому колу розробників. Бібліотека доступна як у відкритій, так і в комерційній версії, причому відкриту версію часто обирають розробники та хобісти, які хочуть експериментувати з технологією ALPR. Бібліотека спроектована як крос‑платформенна і може бути скомпільована та запущена на Linux, Windows та macOS. Незалежно від того, чи створюєте ви систему платних пунктів, автоматизацію паркування чи платформу моніторингу дорожнього руху, OpenALPR забезпечує надійну основу для точного розпізнавання номерних знаків — без необхідності у хмарних залежностях.

Previous Next

Початок роботи з 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 штатів США, а також для Канади та Мексики.

 Українська