Reconocimiento de matrículas (ANPR/LPR) en C# y .NET
Lea matrículas de vehículos desde cámaras IP, webcams y archivos de video en C#. LicensePlateRecognizerBlock encuentra cada matrícula, la lee e informa el texto con una marca de tiempo — en el dispositivo, en el mismo pipeline que muestra, graba y transmite el video.
Desde €500/año · licencia Lifetime desde €1,500
Un lector de matrículas no es OCR general apuntando a un coche
El reconocimiento automático de matrículas — ANPR, también llamado ALPR, LPR o reconocimiento de placas — no es OCR general. El OCR general lee cada letrero, pegatina y logotipo del fotograma y no sabe qué texto es la matrícula. ANPR necesita dos modelos: un detector que encuentra las matrículas y un modelo OCR entrenado con caracteres de matrículas. También necesita los fotogramas — decodificados desde la cámara, seleccionados a un ritmo que el hardware pueda sostener, sin detener el video en vivo. En los SDK de VisioForge, LicensePlateRecognizerBlock es un bloque del pipeline de video: el SDK decodifica la fuente, el bloque ejecuta ambos modelos en un hilo en segundo plano, y los fotogramas siguen hacia la pantalla, un archivo o un flujo de red.
Construir ANPR usted mismo o llamar a una API en la nube vs. LicensePlateRecognizerBlock
| ANPR típico propio o en la nube | LicensePlateRecognizerBlock en un pipeline de VisioForge | |
|---|---|---|
| Encontrar la matrícula | Buscar o entrenar un detector de matrículas, exportarlo a ONNX, escribir el pre y posprocesamiento | Detector de matrículas FastALPR YOLOv9-T (MIT); DetectionConfidenceThreshold y MaxDetections |
| Leer los caracteres | OCR general que también lee cualquier otro texto del fotograma | Una cabeza fast-plate-ocr específica para matrículas; Text llega en mayúsculas, sin caracteres no alfanuméricos |
| Obtener fotogramas de la cámara | Un decodificador o capturador de fotogramas distinto para cada tipo de fuente | Cualquier fuente del SDK: cámaras IP RTSP, webcams, archivos de video |
| Mantener fluido el video en vivo | El reconocimiento en el hilo de captura detiene el flujo | El reconocimiento se ejecuta en un worker en segundo plano; los fotogramas que llegan mientras está ocupado se omiten y se cuentan |
| Matrículas de distintos países | Reentrenar el modelo o cambiar de proveedor | Una cabeza global para EE. UU. y más de 90 países y una cabeza europea para matrículas de la UE, elegidas con RecognitionModelPath |
| Adónde va el video | Fotogramas enviados a un servicio en la nube y facturados por llamada | A ninguna parte: ONNX Runtime en su proceso, sin clave de API, sin tarifa por llamada |
Lo que ofrece el bloque ANPR
LicensePlateRecognizerBlock se incluye en el paquete VisioForge.DotNet.Core.AI. Tiene una entrada y una salida de video, ejecuta dos modelos ONNX sobre los fotogramas que recibe e informa las matrículas mediante el evento OnPlateRecognized.
- Reconocimiento en dos etapas: un detector YOLOv9-T encuentra las matrículas y cada matrícula recortada la lee un modelo OCR específico para matrículas; ambos son modelos FastALPR con licencia MIT
- Un resultado completo por matrícula: Text, Confidence (de 0 a 1), BoundingBox y el Polygon de cuatro puntos en píxeles del fotograma de origen, con el Timestamp del fotograma en cada evento
- Cabezas regionales: la cabeza global cubre EE. UU. y más de 90 países, la cabeza europea está ajustada para matrículas de la UE; ambas leen caracteres latinos (dígitos y A–Z), y el tamaño de entrada se lee del propio modelo
- En el dispositivo: ONNX Runtime con DirectML en GPU de Windows, CoreML en plataformas de Apple y la CPU como alternativa; ActiveProvider indica cuál se usa
- El video en vivo sigue fluido: el reconocimiento se ejecuta en un worker en segundo plano, FramesToSkip define con qué frecuencia se ejecuta, y LastInferenceTimeMs y DroppedFrameCount muestran si el hardware da abasto
- Reconocimiento junto a la grabación: DrawResults dibuja los recuadros y el texto de las matrículas en los fotogramas que siguen hacia la vista previa, un archivo o un flujo
- Un bloque para cada motor: conéctelo en un pipeline de Media Blocks SDK .NET, o añádalo con Video_Processing_AddBlock a VideoCaptureCoreX o MediaPlayerCoreX
Dónde se usa
Acceso y pago de aparcamiento
Reconozca la matrícula en una cámara de acceso para abrir la barrera o iniciar una sesión de aparcamiento.
Registro de peajes y control de acceso
Registre qué matrículas pasaron ante una cámara fija y cuándo, con el video guardado en sus instalaciones.
Gestión de flotas y patios
Controle los vehículos que entran y salen de un recinto privado o un depósito.
Herramientas de revisión de tráfico
Marque matrículas para revisión manual; las decisiones finales de sanción deben incluir siempre una verificación humana.
Ejemplos de código
Basados en la License Plate Recognition Demo, que incluye los tres archivos de modelo FastALPR; el segundo ejemplo añade el bloque a VideoCaptureCoreX igual que la demo Capture OCR X añade su bloque de IA.
Registrar las matrículas de una cámara de acceso
C#Ver una cámara IP, listar las matrículas y grabar en MP4
C#Pipeline
En el ejemplo de acceso, LicensePlateRecognizerBlock se sitúa entre la cámara y un renderizador nulo. Las matrículas salen por el evento OnPlateRecognized; con DrawResults activado, los fotogramas llevan los recuadros y el texto al bloque siguiente.
Preguntas frecuentes
¿El video sale de la máquina?▼
¿Matrículas de qué países puede leer?▼
¿Tengo que entrenar mi propio modelo?▼
¿Y las escenas concurridas con muchos vehículos o matrículas lejanas?▼
¿Qué SDK necesito?▼
¿Las matrículas son datos personales?▼
Documentación y ejemplos
Guía de reconocimiento de matrículas
LicensePlateRecognizerBlock y sus ajustes: modelos, cabezas regionales, cada ajuste con su valor predeterminado, solución de problemas.
License Plate Recognition Demo (WPF)
Ejemplo de Media Blocks SDK .NET: ANPR con una webcam, un archivo de video o una cámara RTSP, con los modelos FastALPR incluidos.
Bloques de IA en VideoCaptureCoreX y MediaPlayerCoreX
Cómo se añaden bloques de procesamiento a los motores de captura y reproducción: orden de inserción y ciclo de vida.
Detección de objetos
YOLOObjectDetectorBlock: detecte vehículos antes de ANPR en escenas concurridas.
Ocultación de datos personales
PIIRedactionBlock: desenfoque o pixele matrículas, rostros y texto en pantalla en el video, en el dispositivo.
OCR para flujos de video
OcrBlock para el resto del texto del video: letreros, etiquetas, rótulos y contenido de pantalla.
Empiece a leer matrículas
Descargue la versión de prueba de 30 días totalmente funcional y ejecute la License Plate Recognition Demo. Según el motor y la salida, puede aparecer una marca de agua o un aviso de versión no registrada.
SDK con reconocimiento de matrículas
Media Blocks SDK .NET
SDK de pipeline: coloque LicensePlateRecognizerBlock entre cualquier fuente y un renderizador, codificador o salida de red.
Más información →Video Capture SDK .NET
SDK de captura: añada el bloque a VideoCaptureCoreX y lea matrículas de cámaras mientras muestra y graba.
Más información →Media Player SDK .NET
SDK de reproducción: añada el bloque a MediaPlayerCoreX y lea matrículas de los archivos y flujos que reproduce.
Más información →Desde €500/año · licencia Lifetime desde €1,500
