Riconoscimento targhe (ANPR/LPR) in C# e .NET
Leggi le targhe dei veicoli da telecamere IP, webcam e file video in C#. LicensePlateRecognizerBlock trova ogni targa, la legge e restituisce il testo con un timestamp — sul dispositivo, nella stessa pipeline che mostra, registra e trasmette il video.
Da €500/anno · licenza Lifetime da €1,500
Un lettore di targhe non è un OCR generico puntato su un'auto
Il riconoscimento automatico delle targhe — ANPR, detto anche ALPR, LPR o lettura targhe — non è OCR generico. L'OCR generico legge ogni cartello, adesivo e logo nell'inquadratura e non sa quale testo sia la targa. L'ANPR richiede due modelli: un rilevatore che trova le targhe e un modello OCR addestrato sui caratteri delle targhe. Servono anche i fotogrammi — decodificati dalla telecamera, prelevati a un ritmo che l'hardware riesce a sostenere, senza bloccare il video dal vivo. Negli SDK VisioForge, LicensePlateRecognizerBlock è un blocco della pipeline video: l'SDK decodifica la sorgente, il blocco esegue entrambi i modelli in un thread in background e i fotogrammi proseguono verso lo schermo, un file o uno stream di rete.
Costruire l'ANPR da soli o chiamare un'API cloud vs. LicensePlateRecognizerBlock
| ANPR tipico fatto in casa o in cloud | LicensePlateRecognizerBlock in una pipeline VisioForge | |
|---|---|---|
| Trovare la targa | Trovare o addestrare un rilevatore di targhe, esportarlo in ONNX, scrivere pre e post-elaborazione | Rilevatore di targhe FastALPR YOLOv9-T (MIT); DetectionConfidenceThreshold e MaxDetections |
| Leggere i caratteri | OCR generico che legge anche ogni altro testo nell'inquadratura | Una testa fast-plate-ocr specifica per le targhe; Text arriva in maiuscolo, senza caratteri non alfanumerici |
| Ottenere i fotogrammi dalla telecamera | Un decoder o frame grabber diverso per ogni tipo di sorgente | Qualsiasi sorgente dell'SDK: telecamere IP RTSP, webcam, file video |
| Mantenere fluido il video dal vivo | Il riconoscimento sul thread di acquisizione blocca lo stream | Il riconoscimento gira in un worker in background; i fotogrammi che arrivano mentre è occupato vengono saltati e contati |
| Targhe di paesi diversi | Riaddestrare il modello o cambiare fornitore | Una testa globale per gli USA e oltre 90 paesi e una testa europea per le targhe UE, scelte con RecognitionModelPath |
| Dove va il video | Fotogrammi inviati a un servizio cloud e fatturati a chiamata | Da nessuna parte: ONNX Runtime nel tuo processo, nessuna chiave API, nessun costo a chiamata |
Cosa offre il blocco ANPR
LicensePlateRecognizerBlock è incluso nel pacchetto VisioForge.DotNet.Core.AI. Ha un ingresso e un'uscita video, esegue due modelli ONNX sui fotogrammi che riceve e segnala le targhe tramite l'evento OnPlateRecognized.
- Riconoscimento in due fasi: un rilevatore YOLOv9-T trova le targhe e ogni targa ritagliata viene letta da un modello OCR specifico per le targhe; entrambi sono modelli FastALPR con licenza MIT
- Un risultato completo per targa: Text, Confidence (da 0 a 1), BoundingBox e il Polygon a quattro punti in pixel del fotogramma sorgente, con il Timestamp del fotogramma in ogni evento
- Teste regionali: la testa globale copre gli USA e oltre 90 paesi, la testa europea è ottimizzata per le targhe UE; entrambe leggono caratteri latini (cifre e A–Z), e la dimensione di ingresso viene letta dal modello stesso
- Sul dispositivo: ONNX Runtime con DirectML sulle GPU Windows, CoreML sulle piattaforme Apple e la CPU come ripiego; ActiveProvider indica quale è in uso
- Il video dal vivo resta fluido: il riconoscimento gira in un worker in background, FramesToSkip stabilisce quanto spesso viene eseguito, e LastInferenceTimeMs e DroppedFrameCount mostrano se l'hardware tiene il passo
- Riconoscimento accanto alla registrazione: DrawResults disegna i riquadri e il testo delle targhe nei fotogrammi che proseguono verso l'anteprima, un file o uno stream
- Un blocco per ogni motore: collegalo in una pipeline di Media Blocks SDK .NET, oppure aggiungilo con Video_Processing_AddBlock a VideoCaptureCoreX o MediaPlayerCoreX
Dove si usa
Accesso e pagamento dei parcheggi
Riconoscere la targa a una telecamera d'ingresso per aprire la sbarra o avviare una sosta.
Registro di pedaggi e controllo accessi
Registrare quali targhe sono passate davanti a una telecamera fissa e quando, con il video conservato in sede.
Gestione di flotte e piazzali
Tracciare i veicoli che entrano ed escono da un'area privata o da un deposito.
Strumenti di revisione del traffico
Segnalare targhe per la revisione manuale; le decisioni finali di sanzione dovrebbero sempre includere un controllo umano.
Esempi di codice
Ricavati dalla License Plate Recognition Demo, che include i tre file di modello FastALPR; il secondo esempio aggiunge il blocco a VideoCaptureCoreX come la demo Capture OCR X aggiunge il suo blocco IA.
Registrare le targhe di una telecamera d'ingresso
C#Visualizzare una telecamera IP, elencare le targhe e registrare in MP4
C#Pipeline
Nell'esempio d'ingresso LicensePlateRecognizerBlock si trova tra la telecamera e un renderer nullo. Le targhe escono dall'evento OnPlateRecognized; con DrawResults attivo, i fotogrammi portano riquadri e testo al blocco successivo.
Domande frequenti
Il video lascia la macchina?▼
Di quali paesi può leggere le targhe?▼
Devo addestrare un mio modello?▼
E le scene affollate con molti veicoli o targhe lontane?▼
Quale SDK mi serve?▼
Le targhe sono dati personali?▼
Documentazione ed esempi
Guida al riconoscimento targhe
LicensePlateRecognizerBlock e le sue impostazioni: modelli, teste regionali, ogni impostazione con il suo valore predefinito, risoluzione dei problemi.
License Plate Recognition Demo (WPF)
Esempio di Media Blocks SDK .NET: ANPR su una webcam, un file video o una telecamera RTSP, con i modelli FastALPR inclusi.
Blocchi IA in VideoCaptureCoreX e MediaPlayerCoreX
Come si aggiungono i blocchi di elaborazione ai motori di acquisizione e riproduzione: ordine di inserimento e ciclo di vita.
Rilevamento oggetti
YOLOObjectDetectorBlock: rilevare i veicoli prima dell'ANPR nelle scene affollate.
Oscuramento dei dati personali
PIIRedactionBlock: sfocare o pixelare targhe, volti e testo a schermo nel video, sul dispositivo.
OCR per stream video
OcrBlock per tutto l'altro testo nel video: cartelli, etichette, sottopancia e contenuti dello schermo.
Inizia a leggere le targhe
Scarica la versione di prova di 30 giorni completamente funzionante ed esegui la License Plate Recognition Demo. A seconda del motore e dell'uscita, può comparire una filigrana o un avviso di versione non registrata.
SDK con riconoscimento targhe
Media Blocks SDK .NET
SDK a pipeline: metti LicensePlateRecognizerBlock tra qualsiasi sorgente e un renderer, un encoder o un'uscita di rete.
Scopri di più →Video Capture SDK .NET
SDK di acquisizione: aggiungi il blocco a VideoCaptureCoreX e leggi le targhe dalle telecamere mentre visualizzi e registri.
Scopri di più →Media Player SDK .NET
SDK di riproduzione: aggiungi il blocco a MediaPlayerCoreX e leggi le targhe dai file e dagli stream che riproduci.
Scopri di più →Da €500/anno · licenza Lifetime da €1,500
