1. Produkty
  2.   OCR
  3.   C++
  4.   OpenALPR
 
  

Darmowe API OCR w C++ do automatycznego rozpoznawania tablic rejestracyjnych

OpenALPR to wiodąca otwartoźródłowa biblioteka OCR w C++, która umożliwia programistom wbudowanie automatycznego rozpoznawania tablic rejestracyjnych i rozpoznawania pojazdów w ich własnych aplikacjach C++.

Co to jest OpenALPR?

OpenALPR to potężna otwartoźródłowa biblioteka do automatycznego rozpoznawania tablic rejestracyjnych (ALPR), zaprojektowana do wykrywania i odczytywania tablic pojazdów z obrazów i wideo. Zbudowana w C++ i wykorzystująca OCR (Optical Character Recognition) poprzez Tesseract, OpenALPR pozwala programistom na integrację możliwości rozpoznawania pojazdów w aplikacjach do automatyzacji parkingów, systemów bezpieczeństwa, punktów poboru opłat oraz infrastruktury inteligentnych miast. Biblioteka zawiera różne funkcje związane z operacjami OCR, takie jak rozpoznawanie tablic z obrazów i wideo, rozpoznawanie tablic z transmisji na żywo, obsługa szablonów specyficznych dla regionów, integracja z aplikacjami własnymi i wiele innych.

OpenALPR jest bardzo elastycznym rozwiązaniem z powiązaniami dla innych popularnych języków programowania, takich jak C#, Java i Python, co czyni je dostępnym dla szerokiego grona deweloperów. Biblioteka dostępna jest zarówno w wersji otwartoźródłowej, jak i komercyjnej; wersja otwartoźródłowa jest popularnym wyborem wśród programistów i hobbystów, którzy chcą eksperymentować z technologią ALPR. Biblioteka jest zaprojektowana jako wieloplatformowa i może być kompilowana oraz uruchamiana na Linux, Windows i macOS. Niezależnie od tego, czy budujesz system poboru opłat, automatyzację parkingu, czy platformę monitoringu ruchu, OpenALPR zapewnia solidną podstawę do precyzyjnego rozpoznawania tablic bez konieczności korzystania z usług w chmurze.

Previous Next

Rozpoczęcie pracy z OpenALPR

Zalecany sposób instalacji OpenALPR to użycie GitHub. Proszę użyć poniższego polecenia, aby przeprowadzić płynną instalację.

Instalacja OpenALPR API za pomocą GitHub

 git clone https://github.com/openalpr/openalpr.git  

Instalacja OpenALPR API za pomocą CMake

 # Build with CMake
mkdir build
cd build
cmake ..
make
sudo make install
 

Możesz również zainstalować go ręcznie; pobierz najnowsze pliki wydania bezpośrednio z GitHub repozytorium.

Rozpoznawanie tablicy rejestracyjnej z obrazu przy użyciu API C++

Otwarta biblioteka OpenALPR zapewnia pełne wsparcie przy tworzeniu systemu automatycznego rozpoznawania tablic, który wykorzystuje OCR i wizję komputerową do odczytywania tablic rejestracyjnych z obrazów i strumieni wideo. Programiści mogą używać statycznych obrazów lub klatek w czasie rzeczywistym z kamery przy użyciu OpenCV. Poniższy fragment kodu demonstruje podstawowy przepływ pracy z biblioteką OpenALPR w C++. Inicjalizuje bibliotekę, rozpoznaje tablicę z pliku obrazu, a następnie wypisuje wyniki wraz z ich współczynnikami pewności.

Jak wykrywać tablice rejestracyjne z obrazu przy użyciu API C++?

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()

Przetwarzanie w czasie rzeczywistym i rozpoznawanie pojazdów przy użyciu C++

Otwarta biblioteka OpenALPR jest zoptymalizowana pod kątem wydajności i może przetwarzać strumienie wideo w czasie rzeczywistym, co czyni ją odpowiednią dla aplikacji wymagających natychmiastowej reakcji. Poza odczytywaniem tablic, biblioteka OpenALPR potrafi także identyfikować markę, model i kolor pojazdu, dostarczając pełniejszy zestaw danych do analizy.

Wsparcie rozpoznawania specyficznego dla kraju

Biblioteka OpenALPR zawiera wsparcie dla ładowania i rozpoznawania tablic specyficznych dla poszczególnych krajów w aplikacjach C++. Biblioteka obejmuje tablice z ponad 60 krajów i potrafi nawet określić stan wydania dla wszystkich 50 stanów USA, a także dla Kanady i Meksyku.

 Polski