Wie man die Seitendrehung für OCR in C# erkennt | IronOCR

Mit IronOCR die Seitendrehung in C# erkennen

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

Die Methode DetectPageOrientation von IronOCR identifiziert automatisch die Winkel der Seitendrehung (0°, 90°, 180°, 270°) in PDF-Dokumenten und Bildern. Für jede Seite wird eine RotationAngle-Eigenschaft zurückgegeben, die eine programmatische Ausrichtungskorrektur mit Vertrauenswerten für eine genaue Textextraktion ermöglicht.

Die Erkennung der Seitendrehung identifiziert, ob eine Dokumentseite im oder gegen den Uhrzeigersinn um 0, 90, 180 oder 270 Grad gedreht wurde. Diese Informationen stellen sicher, dass die Seiten in der richtigen Ausrichtung angezeigt oder verarbeitet werden, um eine genaue Darstellung und Textextraktion zu gewährleisten.

als-Titel:2(Schnellstart: Verwenden Sie DetectPageOrientation, um die Seitenrotation zu identifizieren)

Dieses Beispiel demonstriert die Verwendung von IronOCR's DetectPageOrientation auf einem PDF, um auf die RotationAngle Eigenschaft zuzugreifen. Sie bietet eine schnelle Erkennung und Korrektur von Seitendrehungen mit minimalem Code.

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

  1. Installieren Sie IronOCR mit dem NuGet-Paketmanager.

    PM > Install-Package IronOcr

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

    var rotationResults = new IronOcr.OcrInput().LoadPdf("doc.pdf").DetectPageOrientation();
    Console.WriteLine(rotationResults.First().RotationAngle);
  3. Bereitstellen zum Testen in Ihrer Live-Umgebung

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


Wie kann ich die Seitendrehung in meinen Dokumenten erkennen?

Verwenden Sie nach dem Laden eines Dokuments die Methode DetectPageOrientation, um die Drehung jeder Seite zu ermitteln. Diese Methode unterstützt 0, 90, 180 und 270 Grad. Für schiefe Bilder, die über diese Standarddrehungen hinausgehen, verwenden Sie die Methode Deskew aus IronOCRs Bildkorrekturfiltern. Drehen Sie dann das Bild anhand des erkannten Winkels in seine ursprüngliche Ausrichtung zurück. Lassen Sie uns mit einem Beispiel-PDF arbeiten.

Hinweis:Diese Funktion funktioniert am besten bei Dokumenten mit hoher Textdichte.

:path=/static-assets/ocr/content-code-examples/how-to/detect-page-rotation-detect-page-rotation.cs
using IronOcr;
using System;

using var input = new OcrInput();

// Load PDF document
input.LoadPdf("Clockwise90.pdf");

// Detect page rotation
var results = input.DetectPageOrientation();

// Ouput result
foreach(var result in results)
{
    Console.WriteLine(result.PageNumber);
    Console.WriteLine(result.HighConfidence);
    Console.WriteLine(result.RotationAngle);
}
Imports IronOcr
Imports System

Private input = New OcrInput()

' Load PDF document
input.LoadPdf("Clockwise90.pdf")

' Detect page rotation
Dim results = input.DetectPageOrientation()

' Ouput result
For Each result In results
	Console.WriteLine(result.PageNumber)
	Console.WriteLine(result.HighConfidence)
	Console.WriteLine(result.RotationAngle)
Next result
$vbLabelText   $csharpLabel

Was bedeuten die Detektionsergebnisse?

  • Seitennummer: Null-basierter Index der Seite.
  • RotationAngle: Rotationswinkel in Grad. Verwenden Sie die Methode Rotate, um die Ausrichtung zu korrigieren.
  • Hohe Zuversicht: Vertrauensniveau in das Orientierungsergebnis für die Behandlung von Randfällen.

Wann sollte ich hohe Konfidenzwerte verwenden?

Die Eigenschaft HighConfidence ist entscheidend für mehrdeutige oder minderwertige Dokumente, bei denen die Erkennung von Drehungen unsicher sein kann. Dokumente mit spärlichem Text, ungewöhnlichen Layouts oder schlechter Scanqualität führen häufig zu niedrigeren Vertrauenswerten. In diesen Fällen sollten Sie eine zusätzliche Validierung durchführen oder Bildqualitätskorrekturfilter vor der Erkennung anwenden.

Verwenden Sie diesen Wert, um Ausweichstrategien oder eine manuelle Überprüfung für Seiten mit geringem Vertrauen zu implementieren. Wenn beispielsweise die Konfidenz unter 80 % fällt, verarbeiten Sie die Seite mit mehreren Ausrichtungen und vergleichen Sie die OCR-Ergebnisse, oder markieren Sie sie für eine manuelle Überprüfung. Die Computer-Vision-Funktionen von IronOCR helfen dabei, Textbereiche in schwierigen Dokumenten genauer zu identifizieren.

Wie korrigiere ich eine erkannte Drehung?

Nachdem Sie den Drehwinkel ermittelt haben, verwenden Sie die Methode Rotate für Ihr OcrInput-Objekt, um die Ausrichtung vor der OCR zu korrigieren. Dies gewährleistet eine optimale Texterkennungsgenauigkeit. Umfassende Korrekturen der Ausrichtung finden Sie im Leitfaden zur Korrektur der Bildausrichtung. Hier ist der Korrekturprozess:

// Apply rotation correction based on detection results
if (result.RotationAngle != 0)
{
    input.Rotate(360 - result.RotationAngle); // Rotate back to 0°
}
// Apply rotation correction based on detection results
if (result.RotationAngle != 0)
{
    input.Rotate(360 - result.RotationAngle); // Rotate back to 0°
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Für Dokumente, die eine zusätzliche Vorverarbeitung erfordern, empfiehlt sich die OcrInput-Klasse, die umfangreiche Methoden zur Vorbereitung von Dokumenten vor der OCR-Verarbeitung bietet.

Wie kann ich die Erkennungsgeschwindigkeit und -genauigkeit anpassen?

Die Methode DetectPageOrientation akzeptiert einen optionalen Parameter zur Steuerung der Erkennungsdetails. Durch die Bereitstellung von OrientationDetectionMode-Enums können Sie die Erkennungsgeschwindigkeit und -genauigkeit entsprechend Ihren Anforderungen anpassen.

So setzen Sie es um:

:path=/static-assets/ocr/content-code-examples/how-to/detect-page-rotation-detect-page-rotation-advanced.cs
using IronOcr;
using System;

using var input = new OcrInput();

// Load PDF document
input.LoadPdf("Clockwise90.pdf");

// Detect page rotation with Fast mode
var results = input.DetectPageOrientation(OrientationDetectionMode.Fast);

// Ouput result
foreach(var result in results)
{
    Console.WriteLine(result.PageNumber);
    Console.WriteLine(result.HighConfidence);
    Console.WriteLine(result.RotationAngle);
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Welchen Erkennungsmodus soll ich wählen?

Für OrientationDetectionMode sind vier Geschwindigkeitsoptionen verfügbar:

[{w:(Balanced, Detailed und ExtremeDetailed erfordern das IronOcr.Extensions.AdvancedScan Paket. Diese Optionen sind für Windows x86 und Mac ARM nicht verfügbar

  • Schnell: Hochgeschwindigkeitserkennung mit geringerer Genauigkeit. Ideal für Entwürfe oder Massenverarbeitung, wo Schnelligkeit entscheidend ist. Standard für DetectPageOrientation. Verarbeitet effizient Tausende von Seiten mit Multithreading-Unterstützung.
  • Balanced: Ausgewogene Geschwindigkeit und Genauigkeit. Geeignet für Produktionsaufgaben. Verwendet AdvancedScan-Erweiterungsfunktionen für verbesserte Genauigkeit bei gleichbleibender Leistung.
  • Detailliert: Geringe Geschwindigkeit, hohe Genauigkeit. Am besten geeignet für präzise oder kritische Aufgaben, insbesondere für Dokumente mit komplexem Layout oder gemischtem Inhalt.
  • ExtremeDetailed: Langsamste Geschwindigkeit, höchste Genauigkeit. Nur verwenden, wenn Detailliert nicht ausreicht oder der Text stark verdreht und verzerrt ist.

Was sind allgemeine Leistungsüberlegungen?

Die Leistung variiert je nach Modus erheblich. Der Schnellmodus verarbeitet Hunderte von Seiten pro Minute; ExtremeDetailed kann einige Sekunden pro Seite benötigen. Wählen Sie auf der Grundlage von Genauigkeitsanforderungen und Zeitvorgaben. Für optimale Leistung:

  1. Bildauflösung: Höhere DPI-Einstellungen verbessern die Genauigkeit, erhöhen aber die Verarbeitungszeit. 150-300 DPI reichen in der Regel für die Erkennung von Drehungen aus.
  2. Dokumententyp: Textreiche Dokumente werden schneller und genauer verarbeitet als spärliche Layouts. Verwenden Sie den Filter-Assistenten, um die Bildqualität vor der Erkennung zu optimieren.
  3. Ressourcennutzung: Überwachen Sie die Speichernutzung bei der Verarbeitung großer Stapel. Implementieren Sie Fortschrittsverfolgung, um Feedback zu geben und Systemressourcen zu verwalten.
  4. Parallelverarbeitung: Verwenden Sie für Massenoperationen das Multithreading von IronOCR, um mehrere Dokumente gleichzeitig zu verarbeiten und dabei die Genauigkeit beizubehalten.

Wie gehe ich mit gemischt orientierten Dokumenten um?

Bei Dokumenten mit gemischter Ausrichtung sollten Sie jede Seite einzeln mit DetectPageOrientation bearbeiten und dann vor der OCR seitenweise Drehungskorrekturen vornehmen. Dies gewährleistet eine korrekte Orientierung unabhängig von der Ausgangssituation. Hier ist ein effektiver Ansatz:

// Process each page with individual rotation detection
for (int i = 0; i < results.Count; i++)
{
    var pageResult = results[i];

    // Apply rotation only to pages that need it
    if (pageResult.RotationAngle != 0 && pageResult.HighConfidence)
    {
        // Correct the specific page
        input.Pages[i].Rotate(360 - pageResult.RotationAngle);
    }
}
// Process each page with individual rotation detection
for (int i = 0; i < results.Count; i++)
{
    var pageResult = results[i];

    // Apply rotation only to pages that need it
    if (pageResult.RotationAngle != 0 && pageResult.HighConfidence)
    {
        // Correct the specific page
        input.Pages[i].Rotate(360 - pageResult.RotationAngle);
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Bei komplexen Szenarien mit gescannten Dokumenten unterschiedlicher Qualität oder mehrseitigen TIFFs sollte jede Seite einzeln vorverarbeitet werden, um optimale Ergebnisse zu erzielen.

Bei der Verarbeitung von Eingaben in gemischten Formaten liefert die OcrResult-Klasse detaillierte Seiteninformationen, die eine ausgefeilte Fehlerbehandlung und Qualitätskontroll-Workflows ermöglichen. Für Produktionsumgebungen mit hohem Durchsatz sollten Sie die Optionen der Schnellen OCR-Konfiguration erkunden, um ein Gleichgewicht zwischen Geschwindigkeit und Genauigkeit herzustellen.

Bei der Verarbeitung von Dokumenten, die sowohl Text als auch Barcodes enthalten, sollten Sie die IronOCR-Funktionen OCR mit Barcode- und QR-Lesung verwenden, um alle Informationen in einem einzigen Durchgang zu extrahieren und so die Effizienz zu steigern.

Häufig gestellte Fragen

Was ist die Seitendrehungserkennung und warum ist sie wichtig?

Die Erkennung von Seitendrehungen identifiziert, ob eine Dokumentseite um 0°, 90°, 180° oder 270° gedreht wurde. Dies ist für IronOCR von entscheidender Bedeutung, um sicherzustellen, dass die Seiten in ihrer korrekten Ausrichtung verarbeitet werden, was eine genaue Textextraktion und -wiedergabe aus PDFs und Bildern ermöglicht.

Wie kann ich mit C# schnell eine Seitendrehung in einer PDF-Datei erkennen?

Verwenden Sie die Methode DetectPageOrientation von IronOCR mit minimalem Code: var rotationResults = new IronOcr.OcrInput().LoadPdf("doc.pdf").DetectPageOrientation(); Dies liefert Rotationsinformationen für alle Seiten, die über die Eigenschaft RotationAngle zugänglich sind.

Welche Drehwinkel können erkannt werden?

Die DetectPageOrientation-Methode von IronOCR kann Standarddrehungen von 0°, 90°, 180° und 270° Grad erkennen. Für schiefe Bilder, die über diese Standarddrehungen hinausgehen, verwenden Sie IronOCRs Deskew-Methode aus den Bildkorrekturfiltern.

Welche Informationen werden von DetectPageOrientation zurückgegeben?

Die Methode gibt drei Schlüsseleigenschaften für jede Seite zurück: PageNumber (nullbasierter Index), RotationAngle (Drehung in Grad zur Verwendung mit der Rotate-Methode von IronOCR) und HighConfidence (Konfidenzniveau zur Behandlung von Randfällen).

Wann sollte ich die Eigenschaft HighConfidence verwenden?

Verwenden Sie die HighConfidence-Eigenschaft, wenn Sie mit mehrdeutigen oder qualitativ minderwertigen Dokumenten arbeiten, bei denen die Erkennung von Drehungen unsicher sein kann. Dokumente mit spärlichem Text, ungewöhnlichen Layouts oder schlechter Scanqualität liefern in IronOCR oft niedrigere Vertrauenswerte und erfordern zusätzliche Validierungs- oder Bildqualitätskorrekturfilter.

Funktioniert diese Funktion am besten bei bestimmten Arten von Dokumenten?

Die Funktion DetectPageOrientation von IronOCR funktioniert am besten bei Dokumenten mit hoher Textdichte. Bei Dokumenten mit wenig Text oder komplexen Layouts sollten Sie die Anwendung von Filtern zur Korrektur der Bildqualität vor der Erkennung in Betracht ziehen, um optimale Ergebnisse zu erzielen.

Curtis Chau
Technischer Autor

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

Weiterlesen
Rezensiert von
Jeff Fritz
Jeffrey T. Fritz
Principal Program Manager - .NET Community Team
Jeff ist außerdem Principal Program Manager für das .NET- und Visual Studio-Team. Er ist der ausführende Produzent der .NET Conf Virtual Conference Series und moderiert ‚Fritz and Friends‘, einen Livestream für Entwickler, der zweimal wöchentlich ausgestrahlt wird. Dort spricht er über Technik und schreibt gemeinsam mit den Zuschauern Code. Jeff schreibt Workshops, Präsentationen und plant Inhalte für die größten Microsoft-Entwicklerveranstaltungen, einschließlich Microsoft Build, Microsoft Ignite, .NET Conf und dem Microsoft MVP Summit.
Bereit anzufangen?
Nuget Downloads 5,246,844 | Version: 2025.12 gerade veröffentlicht