IRONSOFTWAREHOME
UTILISATION D'IRONOCR

Comment effectuer la reconnaissance de sous-titres en C# (Tutoriel)

Kannaopat Udonpant
Kannapat Udonpant
Updated: 28 juin 2026

Dans ce didacticiel, nous allons apprendre à extraire des sous-titres intégrés à partir de fichiers vidéo. Nous prendrons un fichier vidéo d'exemple et extrairons les sous-titres intégrés dans un fichier texte. Nous développerons un programme C# .NET qui extraira les sous-titres intégrés en utilisant le processus OCR. Je garderai ce didacticiel simple et facile afin qu'il soit compréhensible même pour un programmeur C# débutant.

Nous avons besoin d'un moteur de reconnaissance optique de caractères (OCR) efficace capable de traiter la vidéo et d'obtenir les fichiers de sous-titres quel que soit la langue des sous-titres.

Il existe de nombreuses bibliothèques disponibles qui fournissent des résultats OCR. Certaines d'entre elles sont payantes, certaines sont difficiles à utiliser, et certaines ne sont ni efficaces ni précises, il est donc très difficile de trouver une bibliothèque qui soit gratuite, efficace, facile à utiliser, et offre des résultats précis.

IronOCR, qui est gratuit pour le développement, offre un essai gratuit d'un mois à des fins commerciales. Il prend en charge plus de 150 langues et offre une meilleure précision que la plupart des autres bibliothèques OCR disponibles. Il est également efficace et facile à utiliser. Nous utiliserons cette bibliothèque pour notre démonstration.

IronOCR

IronOCR est une bibliothèque développée et maintenue par Iron Software qui aide les ingénieurs en logiciels C# à réaliser l'OCR, le balayage de code-barres et l'extraction de texte dans des projets .NET.

Les fonctionnalités d'IronOCR incluent :

  • Lecture de texte à partir de nombreux formats tels que les images (JPEG, PNG, BMP), GIF, TIF/TIFF, Streams, et PDF Correction de scans et photos de basse qualité avec une pléthore de filtres tels que Deskew, Denoise, Binarisation, Amélioration de la résolution, Dilatation, et bien d'autres Lecture de codes-barres de plus de 20 formats différents, avec en plus le Support des QR Codes Utilisation de la dernière version de Tesseract OCR, avec ses performances améliorées au-delà des autres bibliothèques de son genre Export de PDF consultables, export hOCR / HTML et texte de contenu d'image.

Développons une application de démonstration pour lire les numéros de plaques d'immatriculation.

Créer un projet Visual Studio

La première étape consiste à créer un nouveau projet.

Ouvrir Visual Studio. Cliquez sur Créer un nouveau projet, et sélectionnez le modèle de projet d'application console.

Cliquez sur le bouton Suivant, et nommez le projet (je l'ai nommé "OCR Subtitles", vous pouvez le nommer selon votre choix).

Cliquez sur le bouton Suivant, et sélectionnez votre Framework cible. Enfin, cliquez sur le bouton Créer pour créer le projet.

Le projet sera créé comme indiqué ci-dessous.

Comment OCRiser les sous-titres en C# (Tutoriel), Figure 1 : Création d'un nouveau projet dans Visual Studio Création d'un nouveau projet dans Visual Studio

Maintenant, nous devons installer la bibliothèque IronOCR pour l'utiliser dans notre projet. La façon la plus simple est de l'installer via le Gestionnaire de Packages NuGet pour Solution.

Installer le Package NuGet IronOCR

Cliquez sur Outils dans la barre de menu du haut, et sélectionnez Gestionnaire de Packages NuGet > Gérer les Packages NuGet pour Solution, comme illustré ci-dessous.

Comment OCRiser les sous-titres en C# (Tutoriel), Figure 2 : Installation de IronOCR dans Visual Studio Installation d'IronOCR dans Visual Studio

La fenêtre suivante apparaîtra.

Comment OCRiser les sous-titres en C# (Tutoriel), Figure 3 : Interface utilisateur du gestionnaire de packages NuGet dans Visual Studio Interface du gestionnaire de packages NuGet de Visual Studio

Cliquez sur rechercher, et cherchez IronOCR. Sélectionnez le package IronOCR et cliquez sur le bouton Installer, comme montré ci-dessous.

Comment OCRiser les sous-titres en C# (Tutoriel), Figure 4 : Recherche de IronOCR dans l'interface utilisateur du gestionnaire de packages NuGet Recherche de IronOCR dans l'interface du gestionnaire de packages NuGet

La bibliothèque IronOCR sera installée et prête à l'emploi.

Extraire des sous-titres intégrés

Écrivons un programme pour extraire des sous-titres intégrés.

Nous allons utiliser la capture d'écran suivante pour extraire les sous-titres.

Comment OCRiser les sous-titres en C# (Tutoriel), Figure 5 : Capture d'écran vidéo à partir de laquelle le texte sera extrait Capture d'écran vidéo d'exemple à partir de laquelle le texte sera extrait

Ajoutez l'espace de noms suivant :

using IronOcr;

Écrivez le code suivant sous la déclaration de namespace.

// Initialize IronTesseract object
var ocr = new IronTesseract();
// Create an OCR Input using the specified image path
using (var input = new OcrInput(@"D:\License Plate\plate3.jpg"))
{
    // Perform OCR on the input image to extract text
    var result = ocr.Read(input);
    // Output the extracted text to the console
    Console.WriteLine(result.Text);
}

Le code ci-dessus fonctionne comme suit :

  1. Initialize IronTesseract object. Il créera une instance par défaut de IronTesseract.
  2. Créez un nouvel objet OcrInput rempli avec un fichier image ou un document PDF en entrée. OcrInput est le type d'entrée préféré car il permet l'OCR de documents multipages et permet d'améliorer les images avant l'OCR pour obtenir des résultats plus rapides et précis.
  3. Lisez un texte à partir d'un objet d'entrée OCR et renvoyez un objet de résultat OCR. ocr.Read extraira les sous-titres de la capture d'écran donnée.
  4. result.Text renverra le contenu entier extrait de l'entrée donnée.

Le programme exemple produit la sortie console ci-dessous :

Comment OCRiser les sous-titres en C# (Tutoriel), Figure 7 : Sortie de console générée à partir de l'extraction de texte sur l'image d'échantillon à l'aide de IronOCR Sortie console générée à partir de l'extraction de texte sur l'image d'exemple en utilisant IronOCR

Supposons que vous ayez une image vidéo contenant à la fois le titre de la vidéo et les sous-titres :

Comment OCRiser les sous-titres en C# (Tutoriel), Figure 6 : Une image fixe d'une vidéo plus longue contenant des zones de texte pour le titre et les sous-titres de la vidéo Une seule image d'une vidéo plus longue contenant des régions de texte pour le titre de la vidéo et les sous-titres de la vidéo

Notre objectif est d'extraire les sous-titres intégrés de la région inférieure de l'image. Dans ce cas, nous devons spécifier la région texte dans laquelle le sous-titre est affiché.

Spécifier l'emplacement des sous-titres dans le cadre

Nous pouvons utiliser un System.Drawing.Rectangle pour spécifier une région dans laquelle nous lirons un sous-titre à partir de l'image vidéo. L'unité de mesure est toujours pixels.

Nous utiliserons le code exemple suivant pour spécifier la région texte.

// Initialize IronTesseract object
var ocr = new IronTesseract();
// Create an OCR Input and specify the region of interest
using (var input = new OcrInput())
{
    // Define the area within the image where subtitles are located for a 41% improvement on speed
    var contentArea = new CropRectangle(x: 189, y: 272, height: 252, width: 77);
    // Add the specific region of the image to the OCR input
    input.AddImage(@"D:\subtitle\image.png", contentArea);
    // Perform OCR on the specified region
    var result = ocr.Read(input);
    // Output the extracted text to the console
    Console.WriteLine(result.Text);
}

Cela entraîne une augmentation de 41% de la vitesse - et nous permet d'être précis. Dans contentArea, nous avons spécifié le point de départ en x et y, puis la hauteur et la largeur de la région de sous-titre requise.

Enregistrer le sous-titre dans un fichier texte de sous-titres

Enregistrons les sous-titres extraits dans un fichier texte.

// Initialize IronTesseract object
var ocr = new IronTesseract();
// Create an OCR Input with the specified image path
using (var input = new OcrInput(@"D:\subtitle\subtitle1.png"))
{
    // Perform OCR on the input image to extract text
    var result = ocr.Read(input);
    // Save the extracted text to a specified file path
    result.SaveAsTextFile(@"D:\subtitle\subtitlefile.txt");
}

result.SaveAsTextFile prendra le chemin de sortie comme argument et sauvegardera le fichier dans le chemin donné.

Comment OCRiser les sous-titres en C# (Tutoriel), Figure 8 : Une image fixe d'une vidéo plus longue contenant des zones de texte pour le titre et les sous-titres de la vidéo Une seule image d'une vidéo plus longue contenant des régions de texte pour le titre de la vidéo et les sous-titres de la vidéo

Résumé

Dans ce didacticiel, nous avons appris à utiliser IronOCR et développer un programme très simple pour lire des sous-titres à partir de la capture d'écran vidéo. Nous pouvons également spécifier la région pour laquelle nous voulons extraire le texte.

IronOCR offre les fonctionnalités de OpenCV pour la vision par ordinateur. Nous avons vu qu'IronOCR nous permet de lire du texte à partir d'images floues ou de faible résolution. Cette bibliothèque est efficace et offre de la précision. Elle prend en charge plus de 125 langues avec précision totale. Elle est gratuite pour le développement et sans restriction en production.

En résumé, IronOCR fournit :

  • La capacité de scanner et lire des images et documents numérisés
  • Support pour 150+ langues globales
  • Sortie sous forme de texte, données structurées ou PDF consultables Supporte .NET 6, 5, Core, Standard, Framework

IronOCR fait partie de la suite de bibliothèques d'Iron Software utiles pour lire et écrire des PDF, manipuler des fichiers Excel, lire du texte à partir d'images et extraire du contenu de sites web. Achetez l'Iron Suite complète pour le prix de deux bibliothèques individuelles.

Articles connexes

Key in blue circle

Obtenez votre clé d'essai de 30 jours instantanément.

Your trial license will be sent to your email address

Aucune restriction. 100 % débloqué. Pas de carte bancaire.

bullet_checkedAucune carte de crédit ou création de compte requiseAucune restriction. 100 % débloqué. Pas de carte bancaire.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Obtenez Votre Consultation sans Engagement
Remplissez le formulaire ci-dessous ou envoyez un email à sales@ironsoftware.com
Vos informations seront toujours gardées confidentielles.
De confiance par des millions d'ingénieurs dans le monde entier
Logos des clients d'Iron Software
Obtenez votre clé d'essai 30 jours gratuitement.
Aucune carte de crédit ou création de compte requise