Lesen von System.Drawing-Objekten
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.
Lesen von System.Drawing-Objekten
- Download einer C#-Bibliothek zum Lesen von System.Drawing-Objekten
- Abrufen von System.Drawing-Objekten wie Bitmap und Image
- Konstruieren Sie die Klasse OcrImageInput unter Verwendung der erfassten Daten
- Nutzen Sie AnyBitmap von Iron Software für Linux und macOS
- Definieren Sie den Lesebereich, indem Sie den Beschnittbereich angeben
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)
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)
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)
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)