Gratis C++ OCR API voor automatische kentekenplaatherkenning
OpenALPR is een toonaangevende Open Source C++ OCR-bibliotheek die softwareontwikkelaars in staat stelt automatische kentekenplaatherkenning en voertuigherkenning in hun eigen C++ apps te integreren.
Wat is OpenALPR?
OpenALPR is een krachtige open‑source Automatic License Plate Recognition (ALPR) bibliotheek die is ontworpen om kentekenplaten van voertuigen te detecteren en te lezen uit afbeeldingen en video’s. Gebouwd met C++ en gebruikmakend van OCR (Optical Character Recognition) via Tesseract, stelt OpenALPR softwareontwikkelaars in staat voertuigherkenningsfunctionaliteit in applicaties te integreren voor parkeerautomatisering, beveiligingssystemen, tolpoorten en slimme stedelijke infrastructuur. De bibliotheek bevat diverse OCR‑gerelateerde functies, zoals het herkennen van kentekenplaten uit afbeeldingen en video’s, kentekenherkenning vanuit live camerafeeds, ondersteuning voor regiogespecificeerde plaattemplates, integratie in maatwerkapplicaties en nog veel meer.
OpenALPR is een zeer flexibele oplossing met bindings voor andere populaire programmeertalen zoals C#, Java en Python, waardoor het toegankelijk is voor een breed scala aan ontwikkelaars. De bibliotheek is beschikbaar in zowel een open‑source als een commerciële versie, waarbij de open‑source versie een populaire keuze is voor softwareontwikkelaars en hobbyisten die met ALPR‑technologie willen experimenteren. De bibliotheek is platform‑onafhankelijk en kan gecompileerd en uitgevoerd worden op Linux, Windows en macOS. Of je nu een tol‑systeem, parkeerautomatisering of verkeersbewakingsplatform bouwt, OpenALPR biedt een betrouwbare basis voor het nauwkeurig herkennen van kentekenplaten – geheel zonder cloud‑afhankelijkheden.
Aan de slag met OpenALPR
De aanbevolen manier om OpenALPR te installeren is via GitHub. Gebruik alstublieft het volgende commando voor een soepele installatie.
Installeer OpenALPR API via GitHub
git clone https://github.com/openalpr/openalpr.git Installeer OpenALPR API via CMake
# Build with CMake
mkdir build
cd build
cmake ..
make
sudo make install
Je kunt het ook handmatig installeren; download de nieuwste release‑bestanden rechtstreeks van GitHub repository.
Kenteken herkennen van een afbeelding via C++ API
De open‑source OpenALPR‑bibliotheek biedt volledige ondersteuning voor het creëren van een automatische kentekenplaatherkenningssysteem dat OCR en computer‑vision gebruikt om voertuigregistratieplaten uit afbeeldingen en videostreams te lezen. Softwareontwikkelaars kunnen statische afbeeldingen of realtime frames van een camera gebruiken via OpenCV. De onderstaande code‑fragment toont de basiswerkstroom van het gebruik van de OpenALPR C++‑bibliotheek. Het initialiseert de bibliotheek, herkent een kenteken uit een afbeeldingsbestand en print vervolgens de resultaten met hun vertrouwensscores.
Hoe detecteer je kentekenplaten van een afbeelding met de 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()
Realtime verwerking & voertuigherkenning via C++
De open‑source OpenALPR‑bibliotheek is geoptimaliseerd voor prestaties en kan videostreams in realtime verwerken, waardoor hij geschikt is voor toepassingen die onmiddellijke feedback vereisen. Naast het lezen van kentekenplaten kan de OpenALPR‑bibliotheek ook het merk, model en de kleur van een voertuig identificeren, waardoor een completere dataset voor analyse beschikbaar is.
Land‑specifieke herkenningsondersteuning
De OpenALPR‑bibliotheek bevat ondersteuning voor het laden en herkennen van land‑specifieke kentekenplaten binnen C++‑applicaties. De bibliotheek ondersteunt kentekenplaten uit meer dan 60 landen, en kan zelfs de uitgevende staat identificeren voor alle 50 Amerikaanse staten, evenals voor Canada en Mexico.