VisioForge

OCR sur l'appareil pour les flux vidéo en .NET

Reconnaissez du texte dans les flux de caméras RTSP, les webcams et les fichiers vidéo depuis C#. L'OCR fonctionne comme un bloc du pipeline de Media Blocks SDK .NET — sur l'appareil, à côté de l'aperçu, de l'enregistrement et du streaming.

À partir de €500/an · licence Lifetime à partir de €1,500

L'OCR vidéo n'est pas de l'OCR d'images dans une boucle

Une bibliothèque d'OCR d'images prend un seul bitmap. Pour lire du texte depuis une caméra ou un enregistrement avec elle, il vous reste à décoder le flux, choisir des images, les convertir, appeler la bibliothèque et noter quand chaque image a été affichée. Dans les SDK VisioForge, l'OCR est un bloc du pipeline vidéo : le SDK décode la source, OcrBlock lit les images au passage, et ces mêmes images continuent vers l'écran, un fichier ou un flux réseau.

Bibliothèque d'OCR d'images ou OCR dans le pipeline vidéo

Bibliothèque d'OCR d'images typiqueOcrBlock dans un pipeline VisioForge
EntréeUn bitmap transmis par votre codeImages décodées depuis n'importe quelle source du SDK : fichier, webcam, caméra RTSP
Décodage de la vidéoVotre code, avec un décodeur ou un capteur d'images séparéAssuré par le pipeline
Images luesVous les choisissez et les convertissezFramesToSkip ; les images qui arrivent pendant que l'OCR est occupé sont ignorées et comptées
Moment d'apparition du texteÀ suivre vous-mêmeHorodatage dans chaque événement OnTextDetected
Enregistrement ou streaming en même tempsUn pipeline vidéo séparéLe même pipeline : la sortie d'OcrBlock continue vers un encodeur, un fichier ou un flux
Cadres et texte dans la vidéoVous les dessinezDrawResults

Ce qu'apporte l'OCR dans le pipeline

OcrBlock fait partie du paquet VisioForge.DotNet.Core.AI. Il a une entrée et une sortie vidéo et exécute les modèles PP-OCR sur les images qu'il reçoit.

  • Le décodage est fait pour vous : toute source que le SDK ouvre — fichiers vidéo, webcams, caméras IP RTSP — alimente OcrBlock directement
  • Du texte avec le moment et la position : chaque événement OnTextDetected porte le Timestamp de l'image et, pour chaque ligne, ses Text, Confidence et BoundingBox
  • L'OCR à côté de l'enregistrement et du streaming : les images sortent d'OcrBlock inchangées ou avec le texte dessiné, et continuent vers un encodeur, un fichier ou une sortie réseau dans le même pipeline
  • Sur l'appareil : modèles PP-OCR sur ONNX Runtime avec le fournisseur CPU, CUDA, DirectML ou CoreML — pas d'API cloud, pas de coût par appel, la vidéo reste sur la machine
  • Plus de 100 langues : pointez RecognitionModelPath et CharacterDictionaryPath vers le modèle PP-OCR et le dictionnaire de votre langue ; les exemples fournissent le modèle latin
  • Multiplateforme : Windows, macOS, Linux, Android et iOS à partir d'une seule base de code C# ; l'exemple OCR existe aussi pour .NET MAUI
  • Coût maîtrisé sur la vidéo en direct : FramesToSkip = N n'exécute l'OCR que sur une image sur N + 1 ; chaque paramètre et sa valeur par défaut figurent dans le guide OCR

Cas d'usage

Enregistrements consultables

Extrayez le texte de cours, webinaires et enregistrements d'écran avec l'horodatage de chaque ligne, puis indexez-le.

Surveillance de diffusion et d'affichage dynamique

Vérifiez que les bandeaux, les tickers et l'affichage dynamique montrent le texte attendu, en direct ou sur un enregistrement.

Lignes de production

Lisez numéros de série, codes de lot et étiquettes imprimées depuis une caméra fixe pendant que le même flux est enregistré pour la traçabilité.

Caméras IP en commerce et en entrepôt

Lisez étiquettes de rayon et étiquettes produit depuis des caméras RTSP sur site, sans envoyer la vidéo à un service d'OCR dans le cloud.

Exemples de code

Construits à partir de l'OCR Text Recognition Demo ; la branche d'enregistrement relie l'encodeur H.264 et le sink MP4 comme le font les exemples Media Blocks.

Extraire le texte d'un fichier vidéo avec horodatage

C#

Lire du texte depuis une caméra RTSP et l'enregistrer en MP4

C#

Pipeline

Dans l'exemple RTSP, OcrBlock se place entre la caméra et l'encodeur. Le texte reconnu sort par l'événement OnTextDetected ; les images continuent vers l'encodeur H.264 et le fichier MP4.

RTSPSourceBlock
OcrBlock
H264EncoderBlock
MP4SinkBlock

Questions fréquentes

La vidéo quitte-t-elle la machine ?▼
Non. OcrBlock exécute les modèles PP-OCR avec ONNX Runtime dans votre processus. Il n'y a ni service cloud ni clé d'API ; les images et le texte reconnu restent sur l'appareil. Les modèles sont des fichiers que vous livrez avec votre application.
Quelle différence avec une bibliothèque d'OCR d'images ?▼
Une bibliothèque d'OCR d'images attend que vous décodiez la vidéo, choisissiez les images et l'appeliez pour chaque bitmap. OcrBlock fait partie du pipeline qui décode la source : il reçoit des images décodées, en ignore selon FramesToSkip, signale chaque région avec l'horodatage de l'image et transmet les images au rendu, à l'encodage ou au streaming.
Puis-je reconnaître du texte et enregistrer le flux en même temps ?▼
Oui. Reliez la sortie d'OcrBlock à un encodeur et à un sink de fichier, comme dans l'exemple RTSP ci-dessus. DrawResults détermine si les cadres et le texte sont incrustés dans l'enregistrement.
De quel SDK ai-je besoin ?▼
OcrBlock se trouve dans le paquet VisioForge.DotNet.Core.AI. Utilisez-le dans un pipeline Media Blocks SDK .NET si vous construisez le pipeline vous-même, ou ajoutez-le avec Video_Processing_AddBlock à VideoCaptureCoreX dans Video Capture SDK .NET ou à MediaPlayerCoreX dans Media Player SDK .NET si votre application repose déjà sur l'un de ces moteurs.
Puis-je livrer les modèles OCR dans un produit commercial ?▼
Le SDK exécute des modèles ONNX tiers et n'inclut pas les poids des modèles dans le paquet NuGet. Les modèles PP-OCRv5 mobile fournis avec les exemples sont sous licence Apache-2.0. La licence d'un modèle dépend de son origine : vérifiez la licence de tout autre modèle, de ses poids et de ses données d'entraînement avant de le livrer.
Puis-je combiner l'OCR avec d'autres blocs d'IA ?▼
Oui. LicensePlateRecognizerBlock, YOLOObjectDetectorBlock et PIIRedactionBlock ont la même entrée et la même sortie vidéo qu'OcrBlock ; ils se branchent donc les uns après les autres dans le même pipeline. Pour masquer le texte à l'écran au lieu de le lire, PIIRedactionBlock floute ou pixelise les zones de texte trouvées avec les modèles PaddleOCR.