Titan ANPR SDK (LPR / ANPR / reconocimiento de matrículas)

Titan-ANPR es un SDK nativo orientado sobre todo a Windows x64, con motor también disponible para Linux. A partir de una imagen (foto o fotograma) localiza matrículas, OCR y país. Opcionalmente, con Titan-MMR activado en InitEx, también vehículo y marca/modelo. Si necesitas binarios de 32 bits u otros formatos, podemos generarlos bajo petición. API en estilo C (DLL en Windows, biblioteca compartida en Linux). El paquete del SDK no se distribuye desde esta web: solicítalo por correo a [email protected].

Si nunca has usado un SDK de ANPR

Un SDK (kit de desarrollo) es el conjunto de librerías, documentación y ejemplos para añadir reconocimiento de matrículas sin entrenar modelos desde cero. El paquete incluye el motor listo para ejecutar (carpeta bin/ con la DLL o .so y dependencias), cabeceras C/C++, biblioteca de enlace donde aplique, y ejemplos en C# y Python. Si lo necesitas, podemos proporcionar ejemplos de integración en Java (p. ej. vía JNI/JNA).

Qué hace el motor

  • Detección de matrículas y posición (cuatro esquinas por placa).
  • OCR del texto de la matrícula con niveles de confianza.
  • Clasificación de país por resultado (clasificador country_h: 52 países y jurisdicciones europeas; identificador numérico, confianza y etiqueta en cada detección).
  • Post-procesado de formato nacional cuando el país coincide (p. ej. España, Francia, Alemania, Reino Unido, Países Bajos, Polonia, Portugal, Suiza, Ucrania y más; ver docs/README.md del paquete).
  • Opcional: vehículo y marca/modelo con Titan-MMR (TitanANPR_InitEx, enable_mmr=1).
  • API unificada recomendada: TitanANPR_InitEx → TitanANPR_Detect → TitanANPR_Dispose (enable_mmr=0 solo placa/OCR/país, más rápido).

Países soportados (clasificación)

El clasificador country_h devuelve país, confianza e identificador numérico por matrícula detectada. Países soportados:

  • Albania
  • Andorra
  • Austria
  • Bielorrusia
  • Bélgica
  • Bosnia y Herzegovina
  • Bulgaria
  • Croacia
  • Chipre
  • Chequia
  • Dinamarca
  • Estonia
  • Finlandia
  • Francia
  • Georgia
  • Alemania
  • Gibraltar
  • Reino Unido
  • Grecia
  • Hungría
  • Islandia
  • Irlanda
  • Isla de Man
  • Italia
  • Jersey
  • Kazajistán
  • Kosovo
  • Letonia
  • Liechtenstein
  • Lituania
  • Luxemburgo
  • Malta
  • Moldavia
  • Mónaco
  • Montenegro
  • Países Bajos
  • Macedonia del Norte
  • Noruega
  • Polonia
  • Portugal
  • Rumanía
  • Rusia
  • San Marino
  • Serbia
  • Eslovaquia
  • Eslovenia
  • España
  • Suecia
  • Suiza
  • Turquía
  • Ucrania
  • Ciudad del Vaticano
Ejemplo de salida: matrícula, país y marca/modelo (Francia, Opel Corsa).
Ejemplo de detección: contorno de la matrícula, del vehículo, y etiqueta con país, matrícula y marca/modelo. Resultado: «AV 666 HT», France, Car Opel Corsa.

Qué incluye el paquete del SDK

El paquete que facilitamos bajo solicitud agrupa el runtime de producción y la documentación. Estructura típica (ver carpeta docs/README.md dentro del paquete):

  • bin/ — motor y dependencias de runtime (en Windows, Titan-ANPR.dll; opcionalmente Titan-MMR.dll si activas MMR; en Linux, la biblioteca compartida y librerías según el paquete). Incluye por ejemplo ONNX Runtime, OpenVINO/TBB, OpenCV, según el build.
  • include/ — cabeceras titan_anpr.h, titan_license.h.
  • lib/Titan-ANPR.lib (Windows, biblioteca de importación para enlazar con la DLL; en Linux según lo que distribuya el paquete).
  • docs/ — guía de usuario (README.md) y avisos de terceros (THIRD_PARTY_NOTICES.txt).
  • En la raíz: LICENSE-SDK.txt y, si aplica, LICENSE-SAMPLES.txt.
  • samples/ — ejemplos C# (.NET 8) y Python (ctypes). Ejemplos en Java (JNI/JNA u otro enfoque) bajo petición.

El paquete habitual se orienta a Windows x64; el motor también está disponible para Linux (p. ej. material Titan-ANPR-Linux/). Los binarios de 32 bits u otros targets se pueden generar bajo petición. Para obtener el SDK completo, escribe a [email protected].

Cómo implementarlo (resumen)

  1. Descomprime el ZIP y conserva bin/ completa (no solo el binario principal), para que carguen ONNX/OpenCV y el resto.
  2. Windows: instala el Microsoft Visual C++ 2015-2022 Redistributable (x64). Linux: instala las dependencias de runtime indicadas en la documentación de tu paquete Linux.
  3. Licencia: el SDK es comercial; hay prueba de 30 días. Obtén el hardware ID (TitanLicense_GetHardwareId o las herramientas de ejemplo), envíalo a [email protected] y activa con TitanLicense_Activate (en C#: proyecto LicenseConsole; en Python: example_license.py).
  4. En tu código: TitanANPR_InitEx (recomendado; enable_mmr=0) → por cada imagen TitanANPR_Detect (varios resultados por llamada) → TitanANPR_Dispose. Reutiliza el handle entre fotogramas; no reinicies el motor en cada frame.
  5. Consulta docs/README.md dentro del paquete y los README en samples/csharp/ y samples/python/.

API adicional (mismo binario nativo)

Además de la tubería unificada, el binario nativo (p. ej. la DLL en Windows) expone APIs de más bajo nivel opcionales (PlateDetector_*, OcrDetector_*, CountryDetector_*). La guía en include/titan_anpr.h y docs/README.md describe la forma exacta.

Códigos de retorno habituales

  • 0 — éxito.
  • Valor negativo: error.
  • -10 — suele indicar que la licencia no es válida para uso en runtime.

Requisitos de plataforma

  • Windows x64 (destino típico del paquete).
  • Linux: build disponible; consulta la documentación del paquete (p. ej. material Titan-ANPR-Linux/).
  • Arquitectura de 32 bits: se puede proporcionar bajo petición (contacto comercial).
  • Microsoft Visual C++ 2015-2022 Redistributable (x64) — solo para despliegues Windows con el runtime MSVC indicado.
  • Para los ejemplos C#: .NET SDK 8. Para Python: 3.10+ (recomendado 3.11 o 3.12). Java: sin ejemplo en el ZIP por defecto; podemos facilitar muestras bajo petición.

El SDK no se descarga desde esta web. Escribe a [email protected] indicando tu proyecto o entorno (Windows/Linux, 32/64 bits) y te responderemos con los siguientes pasos.