Bestimmen der BarCode-Ausrichtung in C#
IronBarcode korrigiert die Barcode-Orientierung automatisch mit seiner integrierten AutoRotate-Funktion, die Barcodes in jedem Winkel erkennt und liest, ohne dass eine manuelle Bilddrehung erforderlich ist, und so eine genaue Barcode-Erkennung selbst aus geneigten oder gedrehten Bildern gewährleistet.
Barcode-Ausrichtung bezieht sich auf den Winkel, in dem ein Barcode auf einem Produkt oder Dokument gedruckt oder angezeigt wird. Er kann auf verschiedene Winkel eingestellt werden, um verschiedenen Layout- und Designanforderungen gerecht zu werden. Die häufigste Ausrichtung ist horizontal, wobei der Barcode von links nach rechts ausgerichtet ist, was das Standard- und am weitesten verbreitete Format ist. Jeder Winkel ungleich null stellt eine Herausforderung für Bibliotheken dar, den Wert zu erkennen und abzurufen. IronBarcode bietet eine automatische Ausrichtungskorrektur, um alle Winkel ungleich null für Barcodes und QR-Codes zu erkennen.
Schnellstart: Bildkorrektur per automatischer Drehung in einer ZeileSo einfach können Sie die Orientierung korrigieren: Eine einzige Codezeile mit der AutoRotate-Option von IronBarcode – standardmäßig aktiviert – um Barcodes auch bei gedrehten Bildern genau zu lesen.
-
1Install IronBarcode with NuGet Package Manager
-
2Kopieren Sie diesen Codeausschnitt und führen Sie ihn aus.
var result = IronBarCode.BarcodeReader.Read("rotatedImage.png", new IronBarCode.BarcodeReaderOptions { AutoRotate = true });C# -
3Bereitstellen zum Testen in Ihrer Live-Umgebung
Beginnen Sie noch heute, IronBarcode in Ihrem Projekt zu verwenden, mit einer kostenlosen Testversion
Minimaler Arbeitsablauf (5 Schritte)
- Herunterladen der C#-Bibliothek zur Korrektur der Barcode-Ausrichtung
- Setzen Sie die
AutoRotateEigenschaft auf true - Importieren Sie die gewünschten Barcodes und QR-Codes
- Lesen Sie die Barcodes und QR-Codes mit der Leseoption
- Den resultierenden Barcode-Wert abrufen
Wie kann ich die Ausrichtung von Barcodes in meiner Anwendung korrigieren?
Um die automatische Orientierungskorrektur anzuwenden, setzen Sie die AutoRotate-Eigenschaft in BarcodeReaderOptions auf true. Diese Eigenschaft ist standardmäßig auf true gesetzt, daher sollten Sie nichts unternehmen müssen. Jedes Barcode-Bild mit einem Winkel ungleich null sollte direkt aus der Box funktionieren.
Die AutoRotate-Funktion ist besonders nützlich, wenn Sie mit verschiedenen Barcode-Formaten arbeiten, einschließlich QR-Codes, Data-Matrix und traditionellen linearen Barcodes. Egal, ob Sie Barcodes aus Bildern lesen oder aus PDF-Dokumenten scannen, die Ausrichtungskorrektur sorgt für zuverlässige Ergebnisse.
Verwenden wir das Bild unten als Beispiel. Laden Sie die folgenden Beispielfotos mit 20°-Drehung und 45°-Drehung herunter.

20°-Drehung

45°-Drehung
Welchen Code benötige ich zur Implementierung von 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)Die AutoRotate-Funktion nutzt fortschrittliche maschinelle Lernalgorithmen, um die Barcode-Orientierung automatisch zu erkennen. Dies ist besonders wertvoll, wenn es um mehrere Barcodes in einem einzigen Bild oder um die Verarbeitung von Stapeln von Bildern mit unterschiedlichen Ausrichtungen geht.
Arbeiten mit verschiedenen Rotationswinkeln
Die Orientierungskorrektur von IronBarcode verarbeitet verschiedene Drehwinkel nahtlos. Hier ist ein Beispiel, das das Lesen von Barcodes bei verschiedenen Drehwinkeln demonstriert:
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}");
}
}
Erwägungen zur Leistung
Während AutoRotate standardmäßig aktiviert ist, hilft das Verständnis seiner Leistungsimplikationen, Ihren Barcode-Erkennungsablauf zu optimieren. Die Funktion arbeitet effizient mit den IronBarcode-Lesegeschwindigkeitsoptionen zusammen, so dass Sie je nach den Anforderungen Ihrer Anwendung ein Gleichgewicht zwischen Genauigkeit und Leistung herstellen können.
Für Anwendungen, die eine Hochgeschwindigkeitsverarbeitung erfordern, können Sie AutoRotate mit anderen Optimierungstechniken kombinieren:
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)
}Integration mit Bildkorrekturfunktionen
AutoRotate arbeitet nahtlos mit den Bildkorrekturfiltern von IronBarcode zusammen. Bei Bildern von schlechter Qualität, die zudem gedreht sind, können Sie mehrere Korrekturen vornehmen:
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)Best Practices für die Orientierungskorrektur
-
Standardverhalten: Da
AutoRotatestandardmäßig aktiviert ist, müssen Sie es in der Regel nicht explizit einstellen, es sei denn, Sie haben es vorher deaktiviert oder möchten sicherstellen, dass es aktiv ist. -
Kombinieren mit Crop Regions: Wenn Sie Beschnittbereiche verwenden, um die Leistung zu verbessern, stellen Sie sicher, dass der Beschnittbereich groß genug ist, um den gedrehten Barcode aufzunehmen.
-
Multithreaded-Verarbeitung:
AutoRotateist thread-sicher und funktioniert gut mit asynchronen und multithreaded-Operationen, was es für Anwendungen zur Barcode-Verarbeitung in hohen Mengen geeignet macht. -
Formatspezifische Überlegungen: Auch wenn
AutoRotatemit allen unterstützten Barcode-Formaten funktioniert, können einige Formate wie PDF417 und Data-Matrix von zusätzlichen formatspezifischen Optionen profitieren.
In vielen Fällen ist die Korrektur der Drehung möglicherweise nicht ausreichend, und ein Filter wird benötigt. Erfahren Sie im folgenden Artikel, wie man Bildfilter verwendet: "Wie man Bildkorrekturfilter verwendet."
Häufig gestellte Fragen
Wie kann ich gedrehte Barcode-Bilder in meiner C#-Anwendung korrigieren?
IronBarcode korrigiert gedrehte Barcode-Bilder automatisch mit seiner integrierten AutoRotate-Funktion. Setzen Sie einfach AutoRotate in BarcodeReaderOptions auf true (es ist standardmäßig aktiviert), und die Bibliothek erkennt und liest Barcodes in jedem Winkel ohne manuelle Drehung.
Welche Ausrichtungen von Barcodes können automatisch korrigiert werden?
Die AutoRotate-Funktion von IronBarcode kann jede Ausrichtung, die nicht Null Grad beträgt, erkennen und korrigieren, einschließlich Drehungen um 20°, 45°, 90°, 180° und 270°. Die Funktion funktioniert mit verschiedenen Barcode-Formaten, einschließlich QR-Codes, Data Matrix und traditionellen linearen Barcodes.
Muss ich einen speziellen Code schreiben, um geneigte Barcodes zu verarbeiten?
Es ist kein spezieller Code erforderlich. Die AutoRotate-Eigenschaft von IronBarcode ist standardmäßig aktiviert, sodass die Ausrichtungskorrektur sofort funktioniert. Sie benötigen nur eine Zeile Code: var result = IronBarCode.BarcodeReader.Read("rotatedImage.png");
Kann die Orientierungskorrektur mit PDF-Dokumenten arbeiten?
Ja, die AutoRotate-Funktion von IronBarcode funktioniert nahtlos beim Scannen von Barcodes aus PDF-Dokumenten und Bildern. Die Ausrichtungskorrektur sorgt für zuverlässige Ergebnisse, unabhängig vom Quellformat.
Auf welcher Technologie basiert die automatische Erkennung der Ausrichtung?
IronBarcode verwendet fortschrittliche Algorithmen für maschinelles Lernen, um die Ausrichtung von Barcodes automatisch zu erkennen. Dieser intelligente Ansatz gewährleistet ein genaues Lesen von Barcodes, selbst bei gekippten oder gedrehten Bildern, ohne manuelles Eingreifen.
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 hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender Handbücher.