Безплатен C++ OCR API за автоматично разпознаване на регистрационни номера
OpenALPR е водеща Open Source 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 щата на САЩ, както и за Канада и Мексико.