Comment corriger l'orientation d'un BarCode en C#
IronBarcode corrige automatiquement l'orientation du code-barres en utilisant sa fonctionnalité intégrée AutoRotate, qui détecte et lit les codes-barres sous n'importe quel angle sans rotation manuelle de l'image, garantissant une lecture précise des codes-barres même à partir d'images inclinées ou tournées.
L'orientation d'un code-barres fait référence à l'angle auquel un code-barres est imprimé ou affiché sur un produit ou un document. Elle peut être ajustée à divers angles pour répondre à différentes exigences de mise en page et de conception. L'orientation la plus courante est horizontale, où le code-barres est aligné de gauche à droite, ce qui est le format standard le plus largement utilisé. Tout degré d'orientation non nul pose un défi pour les bibliothèques pour détecter et récupérer la valeur. IronBarcode offre une correction automatique de l'orientation pour détecter toute orientation non nulle pour les codes-barres et les codes QR.
Démarrage rapide : Correction automatique de la rotation de l'image en une ligneVoici comment vous pouvez facilement corriger l'orientation : une seule ligne de code utilisant l'option AutoRotate d'IronBarcode—activée par défaut—pour lire les codes-barres avec précision même lorsque les images sont tournées.
-
1Install IronBarcode with NuGet Package Manager
-
2Copiez et exécutez cet extrait de code.
var result = IronBarCode.BarcodeReader.Read("rotatedImage.png", new IronBarCode.BarcodeReaderOptions { AutoRotate = true });C# -
3Déployez pour tester sur votre environnement de production.
Commencez à utiliser IronBarcode dans votre projet dès aujourd'hui avec un essai gratuit
Flux de travail minimal (5 étapes)
- Téléchargez la bibliothèque C# pour corriger l'orientation des codes-barres
- Définissez la propriété
AutoRotatesur true (vrai) - Importer les codes-barres et QR codes ciblés
- Lire les codes-barres et les QR codes avec l'option de lecture
- Récupérer la valeur résultante du code-barres
Comment réparer l'orientation des BarCodes dans mon application?
Pour appliquer la correction automatique de l'orientation, définissez la propriété AutoRotate dans BarcodeReaderOptions sur true. Cette propriété est définie sur true par défaut, donc vous ne devriez rien avoir à faire. La lecture de toute image de code-barres orientée non nulle devrait fonctionner immédiatement.
La fonctionnalité AutoRotate est particulièrement utile lors du travail avec différents formats de codes-barres, y compris les QR codes, Datamatrix et les codes-barres linéaires traditionnels. Qu'il s'agisse de lire des codes-barres à partir d'images ou de numériser à partir de documents PDF, la correction de l'orientation garantit des résultats fiables.
Utilisons l'image ci-dessous comme notre échantillon. Téléchargez les images échantillons suivants rotation de 20° et rotation de 45°.

Rotation de 20°

Rotation de 45°
Quel code dois-je utiliser pour mettre en œuvre AutoRotate?
using IronBarCode;
using System;
BarcodeReaderOptions myOptionsExample = new BarcodeReaderOptions()
{
// Turn on auto rotation in ML detection
AutoRotate = true,
};
var results = BarcodeReader.Read("rotate20.png", myOptionsExample);
// Print out the value
Console.WriteLine(results[0].Value);Imports IronBarCode
Imports System
Private myOptionsExample As New BarcodeReaderOptions() With {.AutoRotate = True}
Private results = BarcodeReader.Read("rotate20.png", myOptionsExample)
' Print out the value
Console.WriteLine(results(0).Value)La fonctionnalité AutoRotate exploite des algorithmes avancés d'apprentissage automatique pour détecter automatiquement l'orientation du code-barres. Cela s'avère particulièrement utile lorsqu'il s'agit de multiples codes-barres dans une seule image ou lorsqu'il s'agit de traiter des lots d'images avec des orientations variables.
Travailler avec différents angles de rotation
La correction d'orientation d'IronBarcode gère divers angles de rotation de manière transparente. Voici un exemple qui démontre la lecture de codes-barres à différents angles de rotation :
using IronBarCode;
using System;
using System.Collections.Generic;
// Process multiple rotated images
var rotatedImages = new List<string> { "rotate20.png", "rotate45.png", "rotate90.png" };
var options = new BarcodeReaderOptions
{
AutoRotate = true,
// Combine with other reading optimizations
Speed = ReadingSpeed.Balanced,
ExpectMultipleBarcodes = false
};
foreach (var imagePath in rotatedImages)
{
var results = BarcodeReader.Read(imagePath, options);
if (results.Length > 0)
{
Console.WriteLine($"Image: {imagePath} - Barcode Value: {results[0].Value}");
Console.WriteLine($"Barcode Type: {results[0].BarcodeType}");
Console.WriteLine($"Barcode Rotation: {results[0].Rotation}");
}
}
Considérations de performance
Bien que AutoRotate soit activé par défaut, comprendre ses implications sur les performances aide à optimiser votre flux de travail de lecture de codes-barres. La fonctionnalité fonctionne efficacement avec les options de vitesse de lecture d'IronBarcode, ce qui vous permet d'équilibrer la précision et la performance en fonction des besoins de votre application.
Pour les applications nécessitant un traitement à haute vitesse, vous pouvez combiner AutoRotate avec d'autres techniques d'optimisation :
var fastReadOptions = new BarcodeReaderOptions
{
AutoRotate = true,
Speed = ReadingSpeed.Faster,
// Specify expected barcode types to improve performance
ExpectBarcodeTypes = BarcodeEncoding.QRCode | BarcodeEncoding.Code128,
// Define crop region if barcode location is predictable
CropArea = new System.Drawing.Rectangle(100, 100, 300, 300)
};Dim fastReadOptions As New BarcodeReaderOptions With {
.AutoRotate = True,
.Speed = ReadingSpeed.Faster,
' Specify expected barcode types to improve performance
.ExpectBarcodeTypes = BarcodeEncoding.QRCode Or BarcodeEncoding.Code128,
' Define crop region if barcode location is predictable
.CropArea = New System.Drawing.Rectangle(100, 100, 300, 300)
}Intégration avec les fonctions de correction d'image
AutoRotate fonctionne parfaitement avec les filtres de correction d'images d'IronBarcode. Lorsque vous avez affaire à des images de mauvaise qualité qui sont également tournées, vous pouvez appliquer plusieurs corrections :
var advancedOptions = new BarcodeReaderOptions
{
AutoRotate = true,
// Apply additional image corrections
ImageFilters = new ImageFilterCollection
{
new AdaptiveThresholdFilter(),
new BrightnessFilter(1.2f),
new ContrastFilter(1.5f)
}
};
var results = BarcodeReader.Read("low-quality-rotated-barcode.jpg", advancedOptions);Imports System
Dim advancedOptions As New BarcodeReaderOptions With {
.AutoRotate = True,
' Apply additional image corrections
.ImageFilters = New ImageFilterCollection From {
New AdaptiveThresholdFilter(),
New BrightnessFilter(1.2F),
New ContrastFilter(1.5F)
}
}
Dim results = BarcodeReader.Read("low-quality-rotated-barcode.jpg", advancedOptions)Bonnes pratiques pour la correction de l'orientation
-
Comportement par défaut : Étant donné que
AutoRotateest activé par défaut, vous n'avez généralement pas besoin de le définir explicitement à moins que vous ne l'ayez désactivé précédemment ou que vous souhaitiez vous assurer qu'il est actif. -
Combinaison avec les régions de recadrage : Lorsque vous utilisez des régions de recadrage pour améliorer les performances, assurez-vous que la zone de recadrage est suffisamment grande pour accueillir le code-barres pivoté.
-
Traitement multi-threadé :
AutoRotateest sûr pour les threads et fonctionne bien avec les opérations asynchrones et multi-threadées, ce qui le rend adapté aux applications de traitement de codes-barres à haut volume. -
Considérations spécifiques au format : Bien que
AutoRotatefonctionne avec tous les formats de codes-barres pris en charge, certains formats, comme le PDF417 et le Datamatrix, peuvent bénéficier d'options spécifiques au format.
Dans de nombreux cas, corriger la rotation peut ne pas être suffisant, et un filtre est requis. Apprenez à utiliser les filtres d'image dans l'article suivant : "Comment utiliser les filtres de correction d'image."
Questions Fréquemment Posées
Comment corriger des images de codes-barres ayant subi une rotation dans mon application C# ?
IronBarcode corrige automatiquement les images de codes-barres ayant subi une rotation à l'aide de sa fonction AutoRotate intégrée. Il suffit de définir AutoRotate sur true dans BarcodeReaderOptions (il est activé par défaut), et la bibliothèque détectera et lira les codes-barres à n'importe quel angle sans rotation manuelle.
Quelles orientations de codes-barres peuvent être corrigées automatiquement ?
La fonction AutoRotate d'IronBarcode peut détecter et corriger toute orientation de degré non nul, y compris les rotations de 20°, 45°, 90°, 180° et 270°. Cette fonction fonctionne avec différents formats de codes-barres, notamment les codes QR, Data Matrix et les codes-barres linéaires traditionnels.
Dois-je écrire un code spécial pour gérer les BarCodes inclinés ?
Aucun code spécial n'est requis. La propriété AutoRotate d'IronBarcode est activée par défaut, de sorte que la correction de l'orientation fonctionne dès le départ. Vous n'avez besoin que d'une ligne de code : var result = IronBarCode.BarcodeReader.Read("rotatedImage.png") ;
La correction de l'orientation peut-elle fonctionner avec des documents PDF ?
Oui, la fonction AutoRotate d'IronBarcode fonctionne de manière transparente lors de la numérisation de codes-barres à partir de documents PDF ainsi que d'images. La correction de l'orientation garantit des résultats fiables quel que soit le format source.
Quelle est la technologie utilisée pour la détection automatique de l'orientation ?
IronBarcode utilise des algorithmes avancés d'apprentissage automatique pour détecter automatiquement l'orientation des codes-barres. Cette approche intelligente garantit une lecture précise des codes-barres, même à partir d'images inclinées ou tournées, sans intervention manuelle.
Is the AutoRotate feature in IronBarcode thread-safe?
Yes, the AutoRotate feature is thread-safe and is compatible with asynchronous and multithreaded operations, making it suitable for high-volume barcode processing applications.
What should I consider when using crop regions with the AutoRotate feature?
When using crop regions with AutoRotate, ensure that the crop area is large enough to accommodate the rotated barcode. This helps improve performance without compromising the accuracy of barcode detection.
Can I improve barcode reading from poor quality images using IronBarcode?
Yes, IronBarcode offers image correction features, such as Adaptive Threshold, Brightness, and Contrast filters, which can be used alongside AutoRotate to improve the reading of poor quality and rotated images.
How does IronBarcode handle different barcode formats with the AutoRotate feature?
IronBarcode's AutoRotate feature supports various barcode formats, including QR codes, Data Matrix, and traditional linear barcodes. For some formats like PDF417, additional format-specific options may enhance readability.
Is there any need to manually activate the AutoRotate feature in IronBarcode?
Typically, there is no need to manually activate the AutoRotate feature as it is enabled by default. You would only need to set it explicitly if it has been previously disabled or if you want to ensure its activation.

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 et créer des manuels bien structurés et visuellement attrayants.