Comment corriger l'orientation des images pour l'OCR en C# | IronOCR

Réparez l'orientation de l'image dans l'OCR avec C#

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronOCR corrige les problèmes d'orientation des images grâce à des méthodes de rotation, de désalignement et de mise à l'échelle. Enchaînez ces transformations pour corriger les scans inclinés, les documents à l'envers et les images de taille inappropriée afin d'obtenir une extraction de texte OCR précise dans vos applications .NET.

Démarrage rapide : Rotation, inclinaison et mise à l'échelle en une seule ligne

Enchaînez les méthodes OcrInput d'IronOcr pour faire pivoter, désaligner et mettre à l'échelle votre image en un seul appel - préparez les images pour une OCR précise sans boilerplate.

Nuget IconCommencez dès maintenant à créer des PDF avec NuGet :

  1. Installez IronOCR avec le gestionnaire de packages NuGet

    PM > Install-Package IronOcr

  2. Copiez et exécutez cet extrait de code.

    var result = new IronOcr.OcrInput().LoadImage("skewed.png").Rotate(90).Deskew(45).Scale(150).Let(input => new IronOcr.IronTesseract().Read(input));
  3. Déployez pour tester sur votre environnement de production.

    Commencez à utiliser IronOCR dans votre projet dès aujourd'hui grâce à un essai gratuit.
    arrow pointer


Comment faire pivoter des images dans IronOCR?

La rotation modifie l'orientation de l'image d'un angle spécifique afin de s'assurer que le texte est droit et correctement aligné. Elle corrige les documents numérisés mal placés sur les scanners ou les photos prises sous un angle inapproprié.

Transmettez une valeur de degré à la méthode Rotate. Les valeurs positives tournent dans le sens des aiguilles d'une montre ; les valeurs négatives tournent dans le sens inverse des aiguilles d'une montre. La rotation s'effectue autour du point central de l'image, ce qui permet de conserver les dimensions d'origine tout en ajustant l'orientation du contenu.

Quand dois-je utiliser la rotation d'image?

La rotation d'image corrige les documents scannés ou photographiés dans des orientations incorrectes. Les scénarios les plus courants sont les suivants :

  • Documents scannés à l'envers ou de travers
  • Photos mobiles nécessitant un changement d'orientation
  • Documents de plusieurs pages dont l'orientation est incohérente
  • Archives historiques avec différentes normes de numérisation
  • Scanner de passeport où l'orientation varie
  • La reconnaissance des plaques d'immatriculation sous différents angles de caméra

Pour la détection automatisée de la rotation, utilisez la méthode DetectPageOrientation d'IronOcr qui détermine l'orientation correcte grâce à l'analyse du texte.

Quelles sont les valeurs des diplômes qui fonctionnent le mieux?

Les valeurs de rotation courantes sont des multiples de 90 degrés (90, 180, 270) pour les questions d'orientation standard. IronOcr prend en charge n'importe quelle valeur de degré pour les ajustements fins :

  • 90/-270 degrés : Conversion du paysage au portrait
  • 180 degrés : Documents à l'envers
  • 270/-90 degrés : Conversion du portrait au paysage
  • Petits angles (1-10 degrés) : Ajustements mineurs, bien que deskewing fonctionne souvent mieux pour de légères inclinaisons

Pour les documents numérisés provenant d'équipements plus anciens, combinez la rotation avec d'autres étapes de prétraitement.

Comment la rotation affecte-t-elle la précision de l'OCR ? Une rotation correcte est cruciale pour la précision de l'OCR. Le moteur Tesseract 5 d'IronOcr prévoit un flux de texte de gauche à droite et de haut en bas. Le texte mal aligné est à l'origine : - Mauvaise reconnaissance des caractères - Limites de mots incorrectes - Échec de la détection des paragraphes - Mauvaise [performance du document multilingue](https://ironsoftware.com/csharp/ocr/how-to/ocr-multiple-languages/) - Réduction des scores de confiance dans les résultats ([confidence scores](https://ironsoftware.com/csharp/ocr/how-to/tesseract-result-confidence/)) ```csharp :path=/static-assets/ocr/content-code-examples/how-to/image-orientation-correction-rotate-image.cs ``` Exportez les images modifiées à l'aide de la méthode `SaveAsImages`. L'image ci-dessous est présentée avant et après la rotation.
Original skewed text document before rotation correction
Document with 180-degree rotated text showing upside-down content that requires IronOCR rotation correction

## Comment redresser des images inclinées? Le redressement redresse les images inclinées ou de travers, en corrigeant l'inclinaison pour assurer l'alignement horizontal du texte. Cela permet de corriger les documents placés de travers sur les scanners ou les photos prises sous un angle léger. Appliquez le désalignement avec la méthode `Deskew`. Passez un nombre entier spécifiant l'angle d'inclinaison maximal à corriger. Des valeurs plus élevées permettent davantage de corrections, mais ralentissent le traitement et risquent d'entraîner des erreurs telles que des pages à l'envers. Le maximum de 15 degrés par défaut permet de gérer efficacement la plupart des scénarios. ### Quelles valeurs d'angle dois-je utiliser pour le désalignement? Les angles de désalignement optimaux dépendent de la qualité du document et des exigences : - **Par défaut (aucun paramètre)** : Détection automatique pour la plupart des documents - **5-15 degrés** : balayages légèrement inclinés, équilibrant précision et rapidité - **15-30 degrés** : Documents fortement biaisés ; envisager la rotation pour les angles supérieurs à 20 degrés - **30+ degrés** : Risque de surcorrection ; utilisez plutôt des [filtres d'images](https://ironsoftware.com/csharp/ocr/how-to/filter-wizard/) Pour les documents fortement inclinés, combinez le désalignement avec [les filtres d'optimisation d'image](https://ironsoftware.com/csharp/ocr/examples/ocr-image-filters-for-net-tesseract/). L'[Assistant de filtrage](https://ironsoftware.com/csharp/ocr/examples/filter-wizard/) peut aider à identifier les étapes de prétraitement optimales. ### Quand le désemboutissage est-il le plus efficace? Le déparasitage fonctionne mieux sur : - Documents à forte teneur en texte avec des lignes horizontales claires - Formulaires et documents structurés - Pages scannées de livres ou de magazines - [Fichiers TIFF multipages](https://ironsoftware.com/csharp/ocr/examples/csharp-tesseract-multipage-tiff/) avec une inclinaison cohérente - [Documents financiers](https://ironsoftware.com/csharp/ocr/troubleshooting/financial-language-pack/) nécessitant un alignement précis Moins efficace pour : - Texte manuscrit avec des lignes de base irrégulières - Images avec orientations multiples du texte - Documents contenant de nombreux graphiques ou [tableaux](https://ironsoftware.com/csharp/ocr/how-to/read-table-in-document/) - [Captures d'écran](https://ironsoftware.com/csharp/ocr/how-to/read-screenshot/) déjà correctement alignées ### Comment éviter les problèmes de surcorrection? Prévenez les problèmes de désalignement en : 1. Commencer avec des limites d'angle conservatrices (10-15 degrés) 2. Utilisation des scores de confiance d'OcrResult pour valider les corrections 3. Application du désalignement après la rotation pour les problèmes composés 4. Test de documents types avant le traitement par lots 5. Utilisation de [suivi de l'avancement](https://ironsoftware.com/csharp/ocr/how-to/progress-tracking/) pour les lots importants 6. Mise en œuvre des jetons [abort tokens](https://ironsoftware.com/csharp/ocr/examples/abort-token/) pour les opérations de longue durée ```csharp :path=/static-assets/ocr/content-code-examples/how-to/image-orientation-correction-rotate-image.cs ```
Original document with noticeable tilt requiring deskew correction
Document after deskew correction showing properly aligned horizontal text

## Comment mettre à l'échelle des images pour une meilleure OCR? La mise à l'échelle permet de redimensionner les images afin de normaliser les dimensions pour une reconnaissance cohérente du texte. Une mise à l'échelle appropriée garantit que le texte n'est ni trop petit pour être détecté avec précision, ni trop grand pour être traité efficacement. Appliquez une mise à l'échelle avec la méthode `Scale` en utilisant une valeur en pourcentage (100 % signifie aucun effet). Le deuxième paramètre, `ScaleCropArea`, détermine si les zones de culture sont mises à l'échelle de manière proportionnelle (recommandé comme "vrai"). La mise à l'échelle maintient le rapport d'aspect pour éviter la distorsion du texte. ### Quels sont les pourcentages d'échelle optimaux? La mise à l'échelle optimale dépend de la résolution de la source et des exigences de l'OCR : - **50-80%** : Scans à haute résolution (600+ DPI) pour un traitement plus rapide - **100%** : Pas de mise à l'échelle, dimensions originales - **120-150%**: Images basse résolution pour améliorer la reconnaissance des caractères - <200%+ : Texte très petit, bien que les paramètres [DPI](https://ironsoftware.com/csharp/ocr/how-to/dpi-setting/) puissent être plus efficaces La hauteur du texte doit être de 20 à 30 pixels pour obtenir les meilleurs résultats. Voir [optimisation du DPI des images pour Tesseract](https://ironsoftware.com/csharp/ocr/examples/ocr-image-dpi-for-tesseract/) pour des conseils détaillés sur l'optimisation de la résolution. ### Quel est l'impact de la mise à l'échelle sur les performances de l'OCR ? La mise à l'échelle a une incidence sur la précision et la rapidité : - **Downscaling** (inférieur à 100 %) : Traitement plus rapide, mais risque de perte de détails fins - **Upscaling** (plus de 100 %) : Meilleure précision pour les petits textes, mais traitement plus lent - **Utilisation de la mémoire** : elle augmente de façon quadratique avec les dimensions de l'image - **Temps de traitement** : augmente avec les grandes dimensions Pour l'optimisation des performances, voir [configuration OCR rapide](https://ironsoftware.com/csharp/ocr/examples/tune-tesseract-for-speed-in-dotnet/) et [multithreading pour la vitesse](https://ironsoftware.com/csharp/ocr/examples/csharp-tesseract-multithreading-for-speed/). ### Quand dois-je utiliser ScaleCropArea? Utilisez `ScaleCropArea` lorsque : - Travailler avec des régions d'images spécifiques [](https://ironsoftware.com/csharp/ocr/how-to/ocr-region-of-an-image/) - Traitement de formulaires avec des champs définis - Extraction de données [document d'identité](https://ironsoftware.com/csharp/ocr/troubleshooting/identity-documents/) - Maintien des positions pour [la lecture des codes-barres](https://ironsoftware.com/csharp/ocr/examples/csharp-ocr-barcodes/) - Lecture de chèques [MICR](https://ironsoftware.com/csharp/ocr/how-to/read-micr-cheque/) avec des zones spécifiques Définissez `true` à moins que vous n'ayez besoin des coordonnées originales de la culture. ```csharp :path=/static-assets/ocr/content-code-examples/how-to/image-orientation-correction-rotate-image.cs ``` ### Comment les différentes valeurs d'échelle se comparent-elles? La comparaison ci-dessous montre comment la mise à l'échelle affecte les dimensions et la clarté du texte. Une mise à l'échelle modérée permet de maintenir la lisibilité tout en adaptant les exigences de traitement :
Comparaison montrant un document texte à une échelle de 50%, 100% et 150% démontrant les différences de taille
Comparaison côte à côte d'un texte rendu à différentes échelles montrant la conservation de la qualité OCR en perspective 3D
## Quelles sont les meilleures pratiques pour les corrections combinées? Appliquez les corrections dans cet ordre pour un résultat optimal : 1. **Rotation** d'abord pour les principaux problèmes d'orientation 2. **Deskewing** pour affiner l'alignement 3. **Mise à l'échelle** pour optimiser le traitement OCR Cette séquence permet de s'assurer que chaque correction s'appuie sur la précédente sans aggraver les erreurs. Pour les besoins de traitement complexes, explorez les filtres d'image complets d'IronOcr et les [outils de correction de la qualité de l'image](https://ironsoftware.com/csharp/ocr/how-to/image-quality-correction/). ### Comment combiner toutes les corrections d'orientation? Enchaîner plusieurs corrections pour une préparation complète de l'image : ```csharp /* :path=/static-assets/ocr/content-code-examples/how-to/image-orientation-correction-combined.cs */ using IronOcr; // Create OCR engine with optimized configuration IronTesseract ocrTesseract = new IronTesseract(); // Load and process image with all corrections using var imageInput = new OcrImageInput("skewed_document.png"); // Apply corrections in optimal sequence imageInput .Rotate(90) // Fix major orientation .Deskew(15) // Correct minor tilts .Scale(150, true); // Enhance for OCR // Perform OCR on corrected image OcrResult result = ocrTesseract.Read(imageInput); // Access extracted text string extractedText = result.Text; ``` ### Quel prétraitement supplémentaire améliore les résultats ? Au-delà de la correction de l'orientation, envisagez ces améliorations : - [Correction des couleurs](https://ironsoftware.com/csharp/ocr/how-to/image-color-correction/) pour les documents décolorés - [Filtres de qualité](https://ironsoftware.com/csharp/ocr/tutorials/c-sharp-ocr-image-filters/) pour la réduction du bruit - [Vision par ordinateur](https://ironsoftware.com/csharp/ocr/how-to/computer-vision/) pour la localisation de texte - [Mettre en évidence le débogage du texte](https://ironsoftware.com/csharp/ocr/examples/highlight-texts-for-debugging/) pour vérifier les corrections Pour le traitement par lots, mettez en œuvre la prise en charge [async](https://ironsoftware.com/csharp/ocr/how-to/async/) pour traiter efficacement plusieurs documents. Contrôlez le traitement avec [timeouts](https://ironsoftware.com/csharp/ocr/examples/timeouts/) pour les opérations importantes. ### Comment exporter des images corrigées? Exportez les images traitées à des fins de vérification ou d'utilisation ultérieure : - Images uniques : méthode `SaveAsImages()` - [PDF consultables](https://ironsoftware.com/csharp/ocr/how-to/searchable-pdf/) avec texte intégré - [hOCR HTML export](https://ironsoftware.com/csharp/ocr/how-to/html-hocr-export/) pour l'intégration web - [Flux PDF](https://ironsoftware.com/csharp/ocr/examples/ocr-for-pdf-stream/) pour le stockage en nuage Testez les corrections avec [une simple OCR d'une ligne](https://ironsoftware.com/csharp/ocr/examples/simple-csharp-ocr-tesseract/) avant de mettre en œuvre des flux de travail complexes.

Questions Fréquemment Posées

Comment puis-je corriger des images inclinées ou de travers avant le traitement OCR ?

IronOcr fournit une puissante correction de l'orientation de l'image grâce à sa classe OcrInput. Vous pouvez enchaîner des méthodes telles que Rotate(), Deskew() et Scale() pour corriger les scans inclinés, les documents à l'envers et les images de taille incorrecte. Par exemple, utilisez input.Rotate(90).Deskew(45).Scale(150) pour appliquer plusieurs corrections en une seule ligne avant l'extraction du texte.

Quels angles de rotation dois-je utiliser pour les différentes orientations du document ?

IronOCR prend en charge n'importe quel angle de rotation, mais les valeurs courantes sont les suivantes : 90 degrés pour la conversion de paysage à portrait, 180 degrés pour les documents à l'envers, et 270 degrés pour la conversion de portrait à paysage. Pour des ajustements mineurs (1-10 degrés), envisagez d'utiliser la méthode Deskew() d'IronOCR pour obtenir de meilleurs résultats avec des documents légèrement inclinés.

Puis-je détecter automatiquement l'orientation correcte de mes documents ?

Oui, IronOCR comprend une méthode DetectPageOrientation qui détermine automatiquement l'orientation correcte grâce à l'analyse du texte. Cette fonctionnalité est particulièrement utile lors du traitement de lots de documents dont l'orientation est incohérente, comme les archives historiques ou les documents multipages provenant de diverses sources.

Quand dois-je utiliser le désalignement plutôt que la rotation pour la correction d'une image ?

Utilisez la méthode Rotate() d'IronOcr pour les problèmes d'orientation majeurs (90, 180, 270 degrés) lorsque les documents sont complètement de côté ou à l'envers. Utilisez la méthode Deskew() pour les légères inclinaisons et les biais que l'on trouve généralement dans les documents numérisés. Vous pouvez combiner les deux méthodes pour une correction complète des images numérisées de mauvaise qualité.

Comment mettre à l'échelle des images pour améliorer la précision de l'OCR ?

La méthode Scale() d'IronOCR permet de redimensionner les images en pourcentage. Par exemple, Scale(150) augmente la taille de l'image de 50 %, ce qui peut améliorer la précision de l'OCR pour les scans à faible résolution. Cette méthode est particulièrement utile lorsqu'elle est combinée à la rotation et au désalignement pour un prétraitement complet de l'image.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite
Revu par
Jeff Fritz
Jeffrey T. Fritz
Responsable principal du programme - Équipe de la communauté .NET
Jeff est également responsable principal du programme pour les équipes .NET et Visual Studio. Il est le producteur exécutif de la série de conférences virtuelles .NET Conf et anime 'Fritz and Friends', une diffusion en direct pour développeurs qui est diffusée deux fois par semaine où il parle de technologie et écrit du code avec les téléspectateurs. Jeff écrit des ateliers, des présentations et prévoit du contenu pour les plus grands événements de développement Microsoft, y compris Microsoft Build, Microsoft Ignite, .NET Conf et le sommet Microsoft MVP
Prêt à commencer?
Nuget Téléchargements 5,246,844 | Version : 2025.12 vient de sortir