Extrahieren von Leseergebnissen

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

von Chaknith Bin

Das Lese- oder OCR-Ergebnis enthält eine Fülle von Informationen zu den erkannten Absätzen, Zeilen, Wörtern und einzelnen Zeichen. Für jedes dieser Elemente liefert das Ergebnis eine umfassende Reihe von Details.

Für jedes Element werden der Textinhalt, die genauen X- und Y-Koordinaten und die Abmessungen angegeben(breite und Höhe), Textrichtung(Von links nach rechts oder von oben nach unten)und Standort in einemCropRectangle objekt.

Legen Sie los mit IronOCR

Beginnen Sie noch heute mit der Verwendung von IronOCR in Ihrem Projekt mit einer kostenlosen Testversion.

Erster Schritt:
green arrow pointer



Daten in OcrResult

Der Ergebniswert enthält nicht nur den extrahierten Text, sondern auch Informationen über Seiten, Absätze, Zeilen, Wörter, Zeichen und Strichcodes, die IronOcr im PDF- und Bilddokument entdeckt hat. Sie können auf diese Informationen aus dem zurückgegebenen OcrResult-Objekt mit der Methode Read zugreifen.

:path=/static-assets/ocr/content-code-examples/how-to/read-results-output-information.cs
using IronOcr;
using System;
using static IronOcr.OcrResult;

// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

// Add image
using var imageInput = new OcrImageInput("sample.jpg");
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);

// Retrieve list of detected paragraphs
Paragraph[] paragraphs = ocrResult.Paragraphs;

// Output information to console
Console.WriteLine($"Text: {paragraphs[0].Text}");
Console.WriteLine($"X: {paragraphs[0].X}");
Console.WriteLine($"Y: {paragraphs[0].Y}");
Console.WriteLine($"Width: {paragraphs[0].Width}");
Console.WriteLine($"Height: {paragraphs[0].Height}");
Console.WriteLine($"Text direction: {paragraphs[0].TextDirection}");
Imports IronOcr
Imports System
Imports IronOcr.OcrResult

' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()

' Add image
Private imageInput = New OcrImageInput("sample.jpg")
' Perform OCR
Private ocrResult As OcrResult = ocrTesseract.Read(imageInput)

' Retrieve list of detected paragraphs
Private paragraphs() As Paragraph = ocrResult.Paragraphs

' Output information to console
Console.WriteLine($"Text: {paragraphs(0).Text}")
Console.WriteLine($"X: {paragraphs(0).X}")
Console.WriteLine($"Y: {paragraphs(0).Y}")
Console.WriteLine($"Width: {paragraphs(0).Width}")
Console.WriteLine($"Height: {paragraphs(0).Height}")
Console.WriteLine($"Text direction: {paragraphs(0).TextDirection}")
VB   C#
Daten in OcrResult

Für jeden Teil des Textes, wie z. B. Absätze, Zeilen, Wörter und einzelne Zeichen, stellen wir die folgenden Informationen bereit:

  • Text: Der eigentliche Text in Form einer Zeichenkette.
  • X: Die Position vom linken Rand der Seite in Pixeln.
  • Y: Die Position vom oberen Rand der Seite in Pixeln.
  • Breite: Die Breite in Pixeln.
  • Höhe: Die Höhe in Pixeln.
  • Text-Richtung: Die Richtung, in der der Text gelesen wurde, z. B. "Von links nach rechts" oder "Von oben nach unten"
  • Standort: Ein Rechteck, das die Position des Textes auf der Seite in Pixeln angibt.

Absatz-, Zeilen-, Wort- und Zeichenvergleich

Nachstehend finden Sie einen Vergleich der erkannten Absätze, Zeilen, Wörter und Zeichen.

Absatz hervorheben
Linie hervorheben
Wort hervorheben
Zeichen hervorheben

Barcode und QR-Code

Das ist richtig! IronOcr kann Barcodes und QR-Codes lesen. Die Funktion ist zwar nicht so robust wie IronBarcode, aber IronOcr bietet Unterstützung für gängige Barcodetypen. Um die Barcode-Erkennung zu aktivieren, setzen Sie die Eigenschaft Configuration.ReadBarCodes auf true.

Darüber hinaus können wertvolle Informationen aus dem erkannten Barcode extrahiert werden, darunter sein Format, sein Wert, seine Koordinaten(x, y), Höhe, Breite und Position als IronSoftware.Drawing.Rectangle-Objekt. Die Klasse Rectangle inEisenZeichnung ermöglicht eine genaue Positionierung auf dem Dokument.

:path=/static-assets/ocr/content-code-examples/how-to/read-results-barcodes.cs
using IronOcr;
using System;
using static IronOcr.OcrResult;

// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

// Enable barcodes detection
ocrTesseract.Configuration.ReadBarCodes = true;

// Add image
using OcrInput ocrInput = new OcrInput();
ocrInput.LoadPdf("sample.pdf");

// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(ocrInput);

// Output information to console
foreach(var barcode in ocrResult.Barcodes)
{
    Console.WriteLine("Format = " + barcode.Format);
    Console.WriteLine("Value = " + barcode.Value);
    Console.WriteLine("X = " + barcode.X);
    Console.WriteLine("Y = " + barcode.Y);
}
Console.WriteLine(ocrResult.Text);
Imports IronOcr
Imports System
Imports IronOcr.OcrResult

' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()

' Enable barcodes detection
ocrTesseract.Configuration.ReadBarCodes = True

' Add image
Using ocrInput As New OcrInput()
	ocrInput.LoadPdf("sample.pdf")
	
	' Perform OCR
	Dim ocrResult As OcrResult = ocrTesseract.Read(ocrInput)
	
	' Output information to console
	For Each barcode In ocrResult.Barcodes
		Console.WriteLine("Format = " & barcode.Format)
		Console.WriteLine("Value = " & barcode.Value)
		Console.WriteLine("X = " & barcode.X)
		Console.WriteLine("Y = " & barcode.Y)
	Next barcode
	Console.WriteLine(ocrResult.Text)
End Using
VB   C#

Ausgabe

Barcodes erkennen
Chaknith related to Ausgabe

Chaknith Bin

Software-Ingenieur

Chaknith ist der Sherlock Holmes der Entwickler. Zum ersten Mal kam ihm der Gedanke, dass er eine Zukunft in der Softwareentwicklung haben könnte, als er zum Spaß an Code Challenges teilnahm. Sein Schwerpunkt liegt auf IronXL und IronBarcode, aber er ist stolz darauf, Kunden mit jedem Produkt zu helfen. Chaknith nutzt sein Wissen aus direkten Gesprächen mit Kunden, um die Produkte selbst weiter zu verbessern. Sein anekdotisches Feedback geht über Jira-Tickets hinaus und unterstützt die Produktentwicklung, die Dokumentation und das Marketing, um das Gesamterlebnis der Kunden zu verbessern.Wenn er nicht im Büro ist, lernt er über maschinelles Lernen, programmiert und wandert.