Wie man mit IronOCR Fotos in C# einliest

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

Beim Umgang mit großen Mengen von Dokumenten, insbesondere gescannten Bildern wie TIFF-Dateien, kann das manuelle Extrahieren von Text zeitaufwendig und anfällig für menschliche Fehler sein. Hier kommt die optische Zeichenerkennung (OCR) ins Spiel, die eine automatisierte Methode bietet, um Text aus Bildern präzise in digitale Daten zu konvertieren. Die OCR-Technologie kann die Komplexität von Bildern, wie gescannten Dokumenten oder Fotos, bewältigen und in durchsuchbaren, bearbeitbaren Text umwandeln. Dies beschleunigt nicht nur die Dokumentenverarbeitung, sondern sorgt auch für eine genauere Datenerfassung im Vergleich zu manueller Transkription.

Die Verwendung von OCR für Formate wie TIFF, die aufgrund ihrer Größe, Farbtiefe oder Kompression schwer zu lesen sein können, ermöglicht es Unternehmen und Entwicklern, große Datenmengen schnell zu digitalisieren und zu verwalten. Mit OCR-Lösungen wie der Funktion ReadPhoto von IronOCR können Entwickler Text aus Bildern extrahieren und sogar erweiterte Operationen wie die Suche nach Schlüsselwörtern oder die Umwandlung gescannter Daten in durchsuchbare PDFs durchführen. Diese Technologie ist besonders nützlich für Branchen, die mit juristischen Dokumenten, Archiven oder Quittungen umgehen, bei denen eine effiziente Datenabfrage entscheidend ist.

In diesem Tutorial geben wir kurz ein Beispiel, wie man ReadPhoto verwendet und wie man das Ergebnisobjekt manipuliert. Wir werden auch Szenarien besprechen, in denen Entwickler möglicherweise ReadPhoto anstelle des Standard-Read von IronOCR bevorzugen.

Um diese Funktion zu verwenden, müssen Sie auch das IronOCR.Extension.AdvancedScan-Paket installieren.

als-Überschrift:2(Schnellstart: Verwenden Sie ReadPhoto, um Text aus komplexen Bildern zu extrahieren)

Schnell starten: Verwenden Sie die ReadPhoto-Methode von IronOCR auf einem OcrInput, das mit Ihrem Bilderrahmen geladen ist, um alle Texte und Bereiche auf einmal abzurufen. Es ist optimiert für TIFFs, GIFs und ähnliche fotointensive Formate für eine reibungslose OCR-Erfahrung.

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 result = new IronTesseract().ReadPhoto(new OcrInput().LoadImageFrame("photo.tiff", 0));
  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

Beispiel für das Lesen von Fotos

Das Lesen hochwertiger Fotoformate wie tiff und gif ist mit IronOCR relativ einfach. Zuerst erstellen wir eine neue Variable und weisen sie einem OcrInput zu und laden dann das Bild mit LoadImageFrame ein. Schließlich verwenden wir die ReadPhoto-Methode und erhalten die Ergebnisse.

[{i:(

  • Da Tiff mehrere Frames innerhalb eines einzelnen Bildes enthält, wird der Parameter PageNumber benötigt. Darüber hinaus beginnt der Index bei 0, statt bei 1.
  • Die Methode funktioniert derzeit nur für Englisch, Chinesisch, Japanisch, Koreanisch und das Lateinische Alphabet.
  • Die Verwendung eines erweiterten Scans auf .NET Framework erfordert, dass das Projekt auf x64-Architektur läuft. @@--KLAMMER-SCHLIESSEN--@@

Eingabe

Da die meisten Browser das TIFF-Format nicht nativ unterstützen, können Sie die TIFF-Eingabedatei hier herunterladen. Um die TIFF-Datei anzuzeigen, habe ich sie in WEBP konvertiert.

Input

Code

:path=/static-assets/ocr/content-code-examples/how-to/read-photo-read-photo.cs
using IronOcr;
using IronSoftware.Drawing;
using System;

// Instantiate OCR engine
var ocr = new IronTesseract();

using var inputPhoto = new OcrInput();
inputPhoto.LoadImageFrame("ocr.tiff", 0);

// Read photo
OcrPhotoResult result = ocr.ReadPhoto(inputPhoto);

// Index number refer to region order in the page
int number = result.TextRegions[0].PageNumber;

// Extract the text in the first region
string textinregion = result.TextRegions[0].TextInRegion;

//Extract the co_ordinates of the first text region
Rectangle region = result.TextRegions[0].Region;

var output = $"Text in First Region: {textinregion}\n"
             + $"Text Region:\n"
             + $"Starting X: {region.X}\n"
             + $"Starting Y: {region.Y}\n"
             + $"Region Width: {region.Width}\n"
             + $"Region Height: {region.Height}\n"
             + $"Result Confidence: {result.Confidence}\n\n"
             + $"Full Scnned Photo Text: {result.Text}";

Console.WriteLine(output);
Imports Microsoft.VisualBasic
Imports IronOcr
Imports IronSoftware.Drawing
Imports System

' Instantiate OCR engine
Private ocr = New IronTesseract()

Private inputPhoto = New OcrInput()
inputPhoto.LoadImageFrame("ocr.tiff", 0)

' Read photo
Dim result As OcrPhotoResult = ocr.ReadPhoto(inputPhoto)

' Index number refer to region order in the page
Dim number As Integer = result.TextRegions(0).PageNumber

' Extract the text in the first region
Dim textinregion As String = result.TextRegions(0).TextInRegion

'Extract the co_ordinates of the first text region
Dim region As Rectangle = result.TextRegions(0).Region

Dim output = $"Text in First Region: {textinregion}" & vbLf & $"Text Region:" & vbLf & $"Starting X: {region.X}" & vbLf & $"Starting Y: {region.Y}" & vbLf & $"Region Width: {region.Width}" & vbLf & $"Region Height: {region.Height}" & vbLf & $"Result Confidence: {result.Confidence}" & vbLf & vbLf & $"Full Scnned Photo Text: {result.Text}"

Console.WriteLine(output)
$vbLabelText   $csharpLabel

Ausgabe

output

Text: Der aus OCR-Eingaben extrahierte Text. Confidence: Eine "double"-Eigenschaft, die das statistische Genauigkeitsvertrauen eines Durchschnitts jedes Zeichens angibt, wobei eins das höchste und 0 das niedrigste ist. TextRegions: Eine Liste der "TextRegions"-Eigenschaften, die angeben, wo sich der OCR-Text und seine Position innerhalb des Eingangs befinden. Im obigen Beispiel druckten wir die Frame-Nummer sowie das Rechteck, das den Text enthält.


Unterschied zwischen ReadPhoto und Read

Der Hauptunterschied zwischen der ReadPhoto-Methode im Vergleich zu der Standard-Read besteht im Ergebnisobjekt und dem Dateiformat, das er annimmt. LoadImageFrame nimmt speziell nur tiff und gif an und unterstützt aus mehreren Gründen keine Formate wie jpeg.

Vergleich zwischen TIFF- und JPEG-Bildern

TIFF als Dateiformat ist verlustfrei und wird in der Regel verwendet, um mehrere Seiten und mehrere Frames in einem einzigen Format zu komprimieren. Es wird typischerweise für hochqualitative, mehrbild-gestützte Speicherung verwendet (zum Beispiel juristische Dokumente, medizinische Bilder). Es ist viel komplexer als Standard-JPEG-Formate und erfordert daher eine andere Methode, um den Text vollständig zu extrahieren.

Darüber hinaus verwenden TIFF-Bilder eine andere Komprimierungsmethode, so dass IronOCR eine spezialisierte Methode verwenden muss, um den Text zu entziffern.

Hier ist ein weiterer Vergleich zwischen TIFF und JPEG zur Gegenüberstellung.

Merkmal TIFF (Tagged Image File Format) JPG/JPEG (Joint Photographic Experts Group)
Komprimierung Verlustfrei oder unkomprimiert (erhält die Qualität) Verlustbehaftete Komprimierung (reduziert die Qualität für kleinere Dateigröße)
Dateigröße Groß (aufgrund der hohen Qualität und der optionalen fehlenden Kompression) Kleiner, für die Webnutzung optimiert und schnell laden
Bildqualität Hoch (ideal für den professionellen Einsatz, alle Details bleiben erhalten) Geringer (aufgrund verlustbehafteter Kompression wird etwas Qualität geopfert)
Farbtiefe Unterstützt hohe Farbtiefen (bis zu 16 Bit oder 32 Bit pro Kanal) 24-Bit-Farbe (16,7 Millionen Farben)
Anwendungsfall Professionelle Fotografie, Veröffentlichung, Scannen, Archivierung Webbilder, soziale Medien, Alltagsfotos
Transparenz Unterstützt Transparenz- und Alphakanäle Unterstützt keine Transparenz
Bearbeitung Gut geeignet für mehrfache Bearbeitungen (kein Qualitätsverlust beim erneuten Speichern) Die Qualität nimmt mit wiederholten Bearbeitungen und Speichervorgängen ab.
Kompatibilität Weitgehend unterstützt von professioneller Software Universell unterstützt auf allen Plattformen und Geräten
Animation Unterstützt keine Animationen Unterstützt keine Animationen
Metadaten Speichert umfangreiche Metadaten (EXIF, Ebenen usw.). Speichert EXIF-Metadaten, ist aber eingeschränkter.

Verschiedene Szenarien

Entwickler müssen jeden Anwendungsfall in der Produktion berücksichtigen, um ihre Anwendungen weiter zu optimieren und effektiv zu gestalten. Obwohl ReadPhoto für komplexe Bilder wie TIFF wie oben geeignet ist, würden die Ergebnisdaten langsam verarbeitet werden. Auf der anderen Seite mag JPEG von geringerer Qualität sein, aber die Verarbeitung wäre im Allgemeinen schneller. Jedoch würde eine Bildqualität mit Rauschen zu einer niedrigen Zuverlässigkeitsrate bei der OCR führen.

Die Verwendung der confidence-Eigenschaft in den OcrPhotoResults oder einer Klasse, die das IOcrResult-Interface nutzt, würde Ihnen eine Vorstellung davon geben, wie genau die Ergebnisse sind, sodass Entwickler testen, neu iterieren und optimieren können, wie gewünscht.

Entwickler sollten einen feinen Grat zwischen Effizienz und Genauigkeit finden, um sicherzustellen, dass die Bilder einem bestimmten Schwellenwert für Konsistenz entsprechen.

Häufig gestellte Fragen

Was ist die ReadPhoto-Methode in C#?

Die ReadPhoto-Methode in IronOCR für C# ist darauf ausgelegt, Text aus komplexen Bildformaten wie TIFF und GIF zu extrahieren und diese mittels Optischer Zeichenerkennung (OCR) in durchsuchbare digitale Daten umzuwandeln.

Warum sollte ich ReadPhoto anstelle der Standard-Read-Funktion verwenden?

ReadPhoto ist für die Verarbeitung komplexer Bildformate wie TIFF und GIF optimiert, die aufgrund ihrer Kompressions- und Qualitätsmerkmale eine spezielle Verarbeitung erfordern. Es ist für diese Bildtypen besser geeignet als die Standard-Read-Funktion.

Wie kann ich die optimale Textextraktion mit OCR in C# gewährleisten?

Um die optimale Textextraktion mit OCR in C# sicherzustellen, sollten Sie die Bildqualität und das -format berücksichtigen. Die Verwendung von IronOCRs ReadPhoto-Methode für hochwertige und komplexe Formate wie TIFF kann die Genauigkeit und Effizienz verbessern.

Welche Bildformate unterstützt die ReadPhoto-Methode?

Die ReadPhoto-Methode in IronOCR unterstützt komplexe Bildformate wie TIFF und GIF, die ideal für hochwertige Textextraktionsaufgaben sind.

Was sind die Vorteile der Konvertierung von TIFF-Dateien mittels OCR?

Die Konvertierung von TIFF-Dateien mittels OCR mit der ReadPhoto-Methode von IronOCR ermöglicht die Umwandlung hochwertiger Bilder in durchsuchbare und bearbeitbare digitale Daten, was für das Dokumentenmanagement und die Archivierung vorteilhaft ist.

Wie verbessert die OCR-Technologie die Dokumentenverarbeitung?

OCR-Technologie automatisiert die Konvertierung von Texten aus Bildern in digitale Daten, was die Verarbeitungsgeschwindigkeit und Genauigkeit erheblich erhöht, insbesondere bei der Verwaltung großer Dokumentenmengen.

Welche Faktoren beeinflussen die Wahl der Bildverarbeitungsmethoden in der OCR?

Faktoren, die die Wahl beeinflussen, sind Bildformat und -qualität, Verarbeitungsgeschwindigkeit und spezifische Anwendungsanforderungen. IronOCRs ReadPhoto ist ideal für hochwertige, komplexe Bilder, während andere Methoden für einfachere Formate effizienter sein könnten.

Kann die ReadPhoto-Methode von IronOCR für Farbbilder verwendet werden?

Ja, die ReadPhoto-Methode von IronOCR kann Farbbilder verarbeiten, insbesondere in Formaten wie TIFF und GIF, und ermöglicht eine genaue Textextraktion in vollfarbigen Dokumenten.

Welche Rolle spielt die 'confidence'-Eigenschaft in den OCR-Ergebnissen?

Die 'confidence'-Eigenschaft in den OCR-Ergebnissen bietet ein statistisches Maß für die Genauigkeit der Textextraktion und hilft Entwicklern, die Zuverlässigkeit der digitalen Daten zu bewerten.

Wie können Entwickler OCR-Ergebnisse aus ReadPhoto in ihren Anwendungen verwenden?

Entwickler können die OCR-Ergebnisse von IronOCRs ReadPhoto nutzen, indem sie auf die OcrPhotoResult-Eigenschaft zugreifen, die extrahierten Text, Vertrauenswerte und Texthallen enthält und so weitere Datenverarbeitung und Anwendungsintegration ermöglicht.

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
Bereit anzufangen?
Nuget Downloads 5,167,857 | Version: 2025.11 gerade veröffentlicht