Seitendrehung erkennen – OCR Software für genaue Texterkennung in C
Die DetectPageOrientation-Methode von IronOCR erkennt automatisch Seitendrehwinkel (0°, 90°, 180°, 270°) in PDF-Dokumenten und Bildern. Diese OCR Software gibt für jede Seite eine RotationAngle-Eigenschaft zurück, die programmatische Ausrichtungskorrektur für genaue Texterkennung ermöglicht.
Die Erkennung der Seitendrehung identifiziert, ob eine Dokumentseite im oder gegen den Uhrzeigersinn um 0, 90, 180 oder 270 Grad gedreht wurde – wichtig für zuverlässiges PDF Text extrahieren. Diese Informationen stellen sicher, dass die Seiten in der richtigen Ausrichtung angezeigt oder verarbeitet werden, um eine genaue Darstellung und Textextraktion zu gewährleisten.
Schnellstart: Seitenrotation mithilfe von DetectPageOrientation ermitteln
Dieses Beispiel demonstriert die Verwendung von IronOCRs DetectPageOrientation auf einem PDF, um auf die RotationAngle Eigenschaft zuzugreifen. Sie bietet eine schnelle Erkennung und Korrektur von Seitendrehungen mit minimalem Code.
-
Installieren Sie IronOCR mit NuGet Package Manager
PM > Install-Package IronOcr -
Kopieren Sie diesen Codeausschnitt und führen Sie ihn aus.
var rotationResults = new IronOcr.OcrInput().LoadPdf("doc.pdf").DetectPageOrientation(); Console.WriteLine(rotationResults.First().RotationAngle); -
Bereitstellen zum Testen in Ihrer Live-Umgebung
Beginnen Sie noch heute, IronOCR in Ihrem Projekt zu verwenden, mit einer kostenlosen Testversion
Minimaler Arbeitsablauf (5 Schritte)
- C#-Bibliothek herunterladen zum Erkennen von Seitenrotation
- Importieren Sie das PDF-Dokument und die Bilder zum Lesen
- Verwenden Sie die Methode `DetectPageOrientation`, um die Drehung für alle Seiten zu erkennen
- Zugriff auf die Eigenschaft **`RotationAngle`** zur Korrektur der Seitendrehung
- Zugriff auf die **`HighConfidence`**-Eigenschaft zur Behandlung von Grenzfällen
Wie kann ich die Seitendrehung in meinen Dokumenten erkennen?
Nach dem Laden eines Dokuments kann mithilfe der Methode DetectPageOrientation die Drehung jeder Seite ermittelt werden. Diese Methode unterstützt 0, 90, 180 und 270 Grad. Für verzerrte Bilder, die über diese Standardrotationen hinausgehen, verwenden Sie die Deskew Methode aus den Bildkorrekturfiltern von IronOCR . Drehen Sie dann das Bild anhand des erkannten Winkels in seine ursprüngliche Ausrichtung zurück. Lassen Sie uns mit einem Beispiel-PDF arbeiten.
: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
Was bedeuten die Detektionsergebnisse?
PageNumber: Nullbasierter Index der Seite.RotationAngle: Drehwinkel in Grad. Verwenden Sie es zusammen mit derRotateMethode, um die Ausrichtung zu korrigieren.HighConfidence: Vertrauensniveau des Orientierungsergebnisses für die Behandlung von Randfällen.
Wann sollte ich hohe Konfidenzwerte verwenden?
Die Eigenschaft HighConfidence ist von entscheidender Bedeutung für mehrdeutige oder qualitativ minderwertige Dokumente, bei denen die Rotationserkennung 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°
}
' Apply rotation correction based on detection results
If result.RotationAngle <> 0 Then
input.Rotate(360 - result.RotationAngle) ' Rotate back to 0°
End If
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 des Erkennungsdetails. Durch die Bereitstellung von OrientationDetectionMode Enumerationen können Sie die Erkennungsgeschwindigkeit und -genauigkeit an Ihre 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);
}
Imports IronOcr
Imports System
Using input As New OcrInput()
' Load PDF document
input.LoadPdf("Clockwise90.pdf")
' Detect page rotation with Fast mode
Dim results = input.DetectPageOrientation(OrientationDetectionMode.Fast)
' Output result
For Each result In results
Console.WriteLine(result.PageNumber)
Console.WriteLine(result.HighConfidence)
Console.WriteLine(result.RotationAngle)
Next
End Using
Welchen Erkennungsmodus soll ich wählen?
Für OrientationDetectionMode stehen vier Geschwindigkeitsoptionen zur Verfügung:
- Schnell: Hochgeschwindigkeitserkennung mit geringerer Genauigkeit. Ideal für Entwürfe oder Massenverarbeitung, wo Schnelligkeit entscheidend ist. Standardwert 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:
- 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.
- 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.
- Ressourcennutzung: Überwachen Sie die Speichernutzung bei der Verarbeitung großer Stapel. Implementieren Sie Fortschrittsverfolgung, um Feedback zu geben und Systemressourcen zu verwalten.
- 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 unterschiedlicher Ausrichtung verarbeiten Sie jede Seite einzeln mit DetectPageOrientation und wenden Sie dann seitenweise Rotationskorrekturen vor der OCR an. 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);
}
}
' Process each page with individual rotation detection
For i As Integer = 0 To results.Count - 1
Dim pageResult = results(i)
' Apply rotation only to pages that need it
If pageResult.RotationAngle <> 0 AndAlso pageResult.HighConfidence Then
' Correct the specific page
input.Pages(i).Rotate(360 - pageResult.RotationAngle)
End If
Next
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.

