Lesen von System.Drawing-Objekten

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

von Chaknith Bin

System.Drawing.Bitmap ist eine Klasse des .NET-Frameworks, die für die Arbeit mit Bitmap-Bildern verwendet wird. Es bietet Methoden und Eigenschaften zum Erstellen, Bearbeiten und Anzeigen von Bitmap-Bildern.

System.Drawing.Image ist eine Basisklasse für alle GDI+ Bildobjekte im .NET-Framework. Sie ist die übergeordnete Klasse für verschiedene Bildtypen, einschließlich System.Drawing.Bitmap.

IronSoftware.Drawing.AnyBitmap ist eine Bitmap-Klasse inEisenZeichnung, eine ursprünglich von Iron Software entwickelte Open-Source-Bibliothek. Es hilft C# Software-Ingenieuren, System.Drawing.Common in .NET-Projekten auf Windows-, macOS- und Linux-Plattformen zu ersetzen.

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



Lesen von System.Drawing.Bitmap Beispiel

Zunächst instanziieren Sie die Klasse IronTesseract, um die OCR durchzuführen. Erstellen Sie eine System.Drawing.Bitmap mit einer der verschiedenen Methoden. Im Codebeispiel habe ich mich für die Verwendung eines Dateipfads entschieden.

Als Nächstes erstellen Sie mit der Anweisung 'using' das Objekt OcrImageInput und übergeben ihm das Bild aus dem Objekt System.Drawing.Bitmap. Verwenden Sie schließlich die Methode "Read", um die OCR durchzuführen.

:path=/static-assets/ocr/content-code-examples/how-to/input-system-drawing-read-bitmap.cs
using IronOcr;
using System.Drawing;

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

// Read image file to Bitmap
Bitmap bitmap = new Bitmap("Potter.tiff");

// Import System.Drawing.Bitmap
using var imageInput = new OcrImageInput(bitmap);
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);
Imports IronOcr
Imports System.Drawing

' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()

' Read image file to Bitmap
Private bitmap As New Bitmap("Potter.tiff")

' Import System.Drawing.Bitmap
Private imageInput = New OcrImageInput(bitmap)
' Perform OCR
Private ocrResult As OcrResult = ocrTesseract.Read(imageInput)
VB   C#

Lesen von System.Drawing.Image Beispiel

Das Lesen aus einem System.Drawing.Image ist so einfach wie das Erstellen des OcrImageInput-Objekts mit dem Image und das anschließende Ausführen des Standard-OCR-Prozesses mit der Methode Read.

:path=/static-assets/ocr/content-code-examples/how-to/input-system-drawing-read-image.cs
using IronOcr;
using Image = System.Drawing.Image;

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

// Open image file as Image
Image image = Image.FromFile("Potter.tiff");

// Import System.Drawing.Image
using var imageInput = new OcrImageInput(image);
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);
Imports IronOcr
Imports Image = System.Drawing.Image

' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()

' Open image file as Image
Private image As Image = Image.FromFile("Potter.tiff")

' Import System.Drawing.Image
Private imageInput = New OcrImageInput(image)
' Perform OCR
Private ocrResult As OcrResult = ocrTesseract.Read(imageInput)
VB   C#

Lesen IronSoftware.Drawing.AnyBitmap Beispiel

In ähnlicher Weise können Sie, nachdem Sie ein AnyBitmap-Objekt erstellt oder erhalten haben, die Klasse OcrImageInput konstruieren. Der Konstruktor kümmert sich um alle notwendigen Schritte, um die Daten zu importieren. Das nachstehende Codebeispiel veranschaulicht dies.

:path=/static-assets/ocr/content-code-examples/how-to/input-system-drawing-read-anybitmap.cs
using IronOcr;
using IronSoftware.Drawing;

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

// Open image file as AnyBitmap
AnyBitmap anyBitmap = AnyBitmap.FromFile("Potter.tiff");

// Import IronSoftware.Drawing.AnyBitmap
using var imageInput = new OcrImageInput(anyBitmap);
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);
Imports IronOcr
Imports IronSoftware.Drawing

' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()

' Open image file as AnyBitmap
Private anyBitmap As AnyBitmap = AnyBitmap.FromFile("Potter.tiff")

' Import IronSoftware.Drawing.AnyBitmap
Private imageInput = New OcrImageInput(anyBitmap)
' Perform OCR
Private ocrResult As OcrResult = ocrTesseract.Read(imageInput)
VB   C#

Scanbereich festlegen

Bei der Konstruktion der Klasse OcrImageInput können Sie den zu scannenden Bereich angeben. Damit können Sie einen bestimmten Bereich des Bilddokuments für die OCR festlegen. Je nach Bildvorlage kann die Angabe des Scanbereichs die Leistung erheblich verbessern. Im mitgelieferten Codebeispiel gebe ich an, dass nur die Kapitelnummer und der Titel extrahiert werden sollen.

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

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

// Specify crop region
Rectangle scanRegion = new Rectangle(800, 200, 900, 400);

// Add image
using var imageInput = new OcrImageInput("Potter.tiff", ContentArea: scanRegion);
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);

// Output the result to console
Console.WriteLine(ocrResult.Text);
Imports IronOcr
Imports IronSoftware.Drawing
Imports System

' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()

' Specify crop region
Private scanRegion As New Rectangle(800, 200, 900, 400)

' Add image
Private imageInput = New OcrImageInput("Potter.tiff", ContentArea:= scanRegion)
' Perform OCR
Private ocrResult As OcrResult = ocrTesseract.Read(imageInput)

' Output the result to console
Console.WriteLine(ocrResult.Text)
VB   C#

OCR-Ergebnis

Spezifische Region lesen
Chaknith related to OCR-Ergebnis

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.