VisioForge

OCR on-device per flussi video in .NET

Riconosci il testo in flussi di telecamere RTSP, webcam e file video da C#. L'OCR funziona come blocco della pipeline di Media Blocks SDK .NET — sul dispositivo, accanto ad anteprima, registrazione e streaming.

L'OCR video non è OCR di immagini in un ciclo

Una libreria OCR per immagini riceve un singolo bitmap. Per leggere il testo da una telecamera o da una registrazione con essa, devi comunque decodificare il flusso, scegliere i fotogrammi, convertirli, chiamare la libreria e tenere traccia di quando ogni fotogramma è stato mostrato. Negli SDK VisioForge l'OCR è un blocco della pipeline video: l'SDK decodifica la sorgente, OcrBlock legge i fotogrammi mentre passano e gli stessi fotogrammi proseguono verso lo schermo, un file o un flusso di rete.

Libreria OCR per immagini vs OCR nella pipeline video

Libreria OCR per immagini tipicaOcrBlock in una pipeline VisioForge
InputUn bitmap passato dal tuo codiceFotogrammi decodificati da qualsiasi sorgente dell'SDK: file, webcam, telecamera RTSP
Decodifica del videoIl tuo codice, con un decoder o un frame grabber separatoLa fa la pipeline
Quali fotogrammi vengono lettiLi scegli e li converti tuFramesToSkip; i fotogrammi che arrivano mentre l'OCR è occupato vengono saltati e contati
Quando è apparso il testoLo tracci tuTimestamp in ogni evento OnTextDetected
Registrazione o streaming in contemporaneaUna pipeline video separataLa stessa pipeline: l'uscita di OcrBlock prosegue verso un encoder, un file o un flusso
Riquadri e testo nel videoLi disegni tuDrawResults

Cosa offre l'OCR dentro la pipeline

OcrBlock fa parte del pacchetto VisioForge.DotNet.Core.AI. Ha un ingresso e un'uscita video ed esegue i modelli PP-OCR sui fotogrammi che riceve.

  • La decodifica è già fatta: qualsiasi sorgente aperta dall'SDK — file video, webcam, telecamere IP RTSP — alimenta direttamente OcrBlock
  • Testo con momento e posizione: ogni evento OnTextDetected riporta il Timestamp del fotogramma e, per ogni riga, Text, Confidence e BoundingBox
  • OCR accanto a registrazione e streaming: i fotogrammi escono da OcrBlock invariati o con il testo disegnato e proseguono verso un encoder, un file o un'uscita di rete nella stessa pipeline
  • Sul dispositivo: modelli PP-OCR su ONNX Runtime con provider CPU, CUDA, DirectML o CoreML — nessuna API cloud, nessun costo per chiamata, il video resta sulla macchina
  • Oltre 100 lingue: punta RecognitionModelPath e CharacterDictionaryPath al modello PP-OCR e al dizionario della tua lingua; gli esempi includono il modello latino
  • Multipiattaforma: Windows, macOS, Linux, Android e iOS da un'unica base di codice C#; l'esempio OCR esiste anche per .NET MAUI
  • Costi sotto controllo sul video live: FramesToSkip = N esegue l'OCR solo su un fotogramma ogni N + 1; ogni impostazione e il suo valore predefinito sono nella guida OCR

Dove si usa

Registrazioni ricercabili

Estrai il testo di lezioni, webinar e registrazioni dello schermo con il timestamp di ogni riga e indicizzalo.

Monitoraggio di trasmissioni e digital signage

Verifica che sottopancia, ticker e digital signage mostrino il testo previsto, in diretta o su una registrazione.

Linee di produzione

Leggi numeri di serie, codici di lotto ed etichette stampate da una telecamera fissa mentre lo stesso flusso viene registrato per la tracciabilità.

Telecamere IP in negozi e magazzini

Leggi cartellini a scaffale ed etichette dei prodotti da telecamere RTSP in sede, senza inviare video a un servizio OCR in cloud.

Esempi di codice

Basati sulla OCR Text Recognition Demo; il ramo di registrazione collega l'encoder H.264 e il sink MP4 come negli esempi di Media Blocks.

Estrarre il testo di un file video con i timestamp

C#

Leggere il testo da una telecamera RTSP e registrarlo in MP4

C#

Pipeline

Nell'esempio RTSP, OcrBlock si trova tra la telecamera e l'encoder. Il testo riconosciuto esce tramite l'evento OnTextDetected; i fotogrammi proseguono verso l'encoder H.264 e il file MP4.

RTSPSourceBlock
OcrBlock
H264EncoderBlock
MP4SinkBlock

Domande frequenti

Il video esce dalla macchina?▼
No. OcrBlock esegue i modelli PP-OCR con ONNX Runtime all'interno del tuo processo. Non c'è alcun servizio cloud né chiave API; fotogrammi e testo riconosciuto restano sul dispositivo. I modelli sono file che distribuisci insieme alla tua applicazione.
In cosa differisce da una libreria OCR per immagini?▼
Una libreria OCR per immagini si aspetta che tu decodifichi il video, scelga i fotogrammi e la chiami per ogni bitmap. OcrBlock fa parte della pipeline che decodifica la sorgente: riceve fotogrammi decodificati, li salta secondo FramesToSkip, segnala ogni regione con il timestamp del fotogramma e passa i fotogrammi a rendering, codifica o streaming.
Posso riconoscere il testo e registrare il flusso contemporaneamente?▼
Sì. Collega l'uscita di OcrBlock a un encoder e a un sink di file, come nell'esempio RTSP qui sopra. DrawResults stabilisce se riquadri e testo vengono impressi nella registrazione.
Quale SDK mi serve?▼
OcrBlock si trova nel pacchetto VisioForge.DotNet.Core.AI. Usalo in una pipeline di Media Blocks SDK .NET quando costruisci la pipeline tu stesso, oppure aggiungilo con Video_Processing_AddBlock a VideoCaptureCoreX in Video Capture SDK .NET o a MediaPlayerCoreX in Media Player SDK .NET quando la tua applicazione è già basata su uno di questi motori.
Posso distribuire i modelli OCR in un prodotto commerciale?▼
L'SDK esegue modelli ONNX di terze parti e non include i pesi dei modelli nel pacchetto NuGet. I modelli PP-OCRv5 mobile forniti con gli esempi sono Apache-2.0. La licenza di un modello dipende dalla sua origine: verifica la licenza di qualsiasi altro modello, dei suoi pesi e dei suoi dati di addestramento prima di distribuirlo.
Posso combinare l'OCR con altri blocchi di IA?▼
Sì. LicensePlateRecognizerBlock, YOLOObjectDetectorBlock e PIIRedactionBlock hanno lo stesso ingresso e la stessa uscita video di OcrBlock, quindi si collegano uno dopo l'altro nella stessa pipeline. Per nascondere il testo a schermo invece di leggerlo, PIIRedactionBlock sfoca o pixela le aree di testo trovate con i modelli PaddleOCR.