API OCR gratuita de C++ para el Reconocimiento Automático de Placas de Matrícula
OpenALPR es una biblioteca OCR de C++ de código abierto líder que permite a los desarrolladores de software integrar el reconocimiento automático de placas de matrícula y el reconocimiento de vehículos en sus propias aplicaciones C++.
¿Qué es OpenALPR?
OpenALPR es una poderosa biblioteca de Reconocimiento Automático de Placas de Matrícula (ALPR) de código abierto diseñada para detectar y leer las placas de los vehículos a partir de imágenes y videos. Construida con C++ y aprovechando OCR (Reconocimiento Óptico de Caracteres) a través de Tesseract, OpenALPR permite a los desarrolladores de software integrar capacidades de reconocimiento de vehículos en aplicaciones para automatización de estacionamientos, sistemas de seguridad, cabinas de peaje e infraestructura de ciudades inteligentes. La biblioteca incluye diversas funciones relacionadas con operaciones OCR, como reconocer placas de matrícula a partir de imágenes y videos, reconocimiento de placas desde flujos de cámara en tiempo real, soporte de plantillas de placas específicas por región, integración en aplicaciones personalizadas y mucho más.
OpenALPR es una solución altamente flexible con enlaces (bindings) para otros lenguajes de programación populares como C#, Java y Python, lo que la hace accesible a una amplia gama de desarrolladores. La biblioteca está disponible tanto en una versión de código abierto como en una comercial, siendo la versión de código abierto una opción popular para desarrolladores y aficionados que desean experimentar con la tecnología ALPR. La biblioteca está diseñada para ser multiplataforma y puede compilarse y ejecutarse en Linux, Windows y macOS. Ya sea que estés construyendo un sistema de peaje, automatización de estacionamiento o una plataforma de vigilancia de tráfico, OpenALPR proporciona una base fiable para reconocer placas de matrícula con precisión, todo sin depender de servicios en la nube.
Comenzando con OpenALPR
La forma recomendada de instalar OpenALPR es usando GitHub. Por favor, use el siguiente comando para una instalación sin problemas.
Instalar API OpenALPR vía GitHub
git clone https://github.com/openalpr/openalpr.git Instalar API OpenALPR vía CMake
# Build with CMake
mkdir build
cd build
cmake ..
make
sudo make install
También puede instalarla manualmente; descargue los archivos de la última versión directamente del repositorio GitHub.
Reconocer placa de matrícula desde una imagen mediante la API C++
La biblioteca de código abierto OpenALPR ha proporcionado soporte completo para crear sistemas de reconocimiento automático de placas de matrícula que utilizan OCR y visión por computadora para leer las matrículas de los vehículos a partir de imágenes y flujos de video. Los desarrolladores de software pueden usar imágenes estáticas o fotogramas en tiempo real de una cámara mediante OpenCV. El siguiente fragmento de código muestra el flujo de trabajo básico al usar la biblioteca OpenALPR C++. Inicializa la biblioteca, reconoce una placa de matrícula a partir de un archivo de imagen y luego imprime los resultados junto con sus puntuaciones de confianza.
¿Cómo detectar placas de matrícula desde una imagen usando la 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()
Procesamiento en tiempo real y reconocimiento de vehículos mediante C++
La biblioteca de código abierto OpenALPR está optimizada para el rendimiento y puede procesar flujos de video en tiempo real, lo que la hace adecuada para aplicaciones que requieren retroalimentación inmediata. Más allá de leer placas de matrícula, la biblioteca OpenALPR también puede identificar la marca, modelo y color de un vehículo, proporcionando un conjunto de datos más completo para el análisis.
Soporte de reconocimiento específico por país
La biblioteca OpenALPR ha incluido soporte para cargar y reconocer placas de matrícula específicas por país dentro de aplicaciones C++. La biblioteca incluye placas de más de 60 países, y puede incluso identificar el estado emisor para los 50 estados de EE. UU., así como para Canadá y México.