Wie man die Barcode-Ausrichtung in C# behebt | IronBarcode

Bestimmen der BarCode-Ausrichtung in C#35;

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

IronBarcode korrigiert automatisch die Ausrichtung von Barcodes mithilfe der integrierten AutoRotate-Funktion, die Barcodes in jedem Winkel erkennt und liest, ohne dass das Bild manuell gedreht werden muss. So wird sichergestellt, dass Barcodes auch aus gekippten oder gedrehten Bildern korrekt gelesen werden.

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.

als-überschrift:2(Schnellstart: Automatische Bilddrehungskorrektur in einer Zeile)

So einfach können Sie die Ausrichtung korrigieren: eine Zeile Code mit der standardmäßig aktivierten AutoRotate-Option von IronBarcode, um Barcodes auch bei gedrehten Bildern genau zu lesen.

Nuget IconLegen Sie jetzt mit NuGet los, um PDFs zu erstellen:

  1. Installieren Sie IronBarcode mit dem NuGet-Paketmanager.

    PM > Install-Package BarCode

  2. Kopieren Sie diesen Codeausschnitt und führen Sie ihn aus.

    var result = IronBarCode.BarcodeReader.Read("rotatedImage.png", new IronBarCode.BarcodeReaderOptions { AutoRotate = true });
  3. Bereitstellen zum Testen in Ihrer Live-Umgebung

    Beginnen Sie noch heute mit der Nutzung von IronBarcode in Ihrem Projekt – mit einer kostenlosen Testversion.
    arrow pointer

Wie kann ich die Ausrichtung von Barcodes in meiner Anwendung korrigieren?

Um die automatische Ausrichtungskorrektur anzuwenden, setzen Sie die Eigenschaft AutoRotate 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 Funktion AutoRotate ist besonders nützlich bei der Arbeit mit verschiedenen Barcode-Formaten, darunter QR-Codes, Data Matrix und traditionelle lineare 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. Download the following 20° rotation and 45° rotation sample images.

Barcode rotated 20 degrees clockwise showing vertical stripes at an angle for orientation testing
Barcode rotated 45 degrees showing diagonal orientation requiring correction

Welchen Code benötige ich zur Implementierung von AutoRotate?

:path=/static-assets/barcode/content-code-examples/how-to/image-orientation-correct-autorotate.cs
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)
$vbLabelText   $csharpLabel

Die Funktion AutoRotate nutzt fortschrittliche Algorithmen des maschinellen Lernens, um die Ausrichtung des Barcodes 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($"Rotation Applied: {results[0].WasRotated}");
    }
}
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($"Rotation Applied: {results[0].WasRotated}");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Erwägungen zur Leistung

AutoRotate ist zwar standardmäßig aktiviert, aber wenn Sie die Auswirkungen auf die Leistung verstehen, können Sie Ihren Arbeitsablauf beim Lesen von Barcodes 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 hohe Verarbeitungsgeschwindigkeit 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)
};
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)
};
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

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);
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);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Best Practices für die Orientierungskorrektur

  1. Standardverhalten: Da AutoRotate standardmäßig aktiviert ist, müssen Sie es in der Regel nicht explizit einstellen, es sei denn, Sie haben es zuvor deaktiviert oder wollen sicherstellen, dass es aktiv ist.

  2. 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.

  3. Multi-Thread-Verarbeitung: AutoRotate ist thread-sicher und funktioniert gut mit asynchronen und multithreaded Operationen, was es für hochvolumige Barcode-Verarbeitungsanwendungen geeignet macht.

  4. Formatspezifische Überlegungen: Während AutoRotate mit allen unterstützten Barcodeformaten 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.

Chaknith Bin
Software Ingenieur
Chaknith arbeitet an IronXL und IronBarcode. Er hat umfassende Expertise in C# und .NET und hilft, die Software zu verbessern und Kunden zu unterstützen. Seine Einblicke aus Benutzerinteraktionen tragen zu besseren Produkten, Dokumentationen und einem insgesamt besseren Erlebnis bei.
Bereit anzufangen?
Nuget Downloads 2,002,059 | Version: 2025.12 gerade veröffentlicht