Lesen von Streams
Stream-Daten bezeichnen einen kontinuierlichen Fluss binärer Informationen, die gelesen oder geschrieben werden können. Im Zusammenhang mit der Programmierung und der Datenverarbeitung werden Datenströme zur effizienten Verarbeitung von Daten verwendet, die möglicherweise zu groß sind, um vollständig in den Speicher zu passen. Streams ermöglichen das Lesen oder Schreiben von Daten in kleineren, überschaubaren Einheiten.
Die Importmethoden von IronOCR akzeptieren auch Datenströme von Bildern, die importiert und gelesen werden sollen. Dazu werden die Streamdaten einfach an eine der Importmethoden übergeben. Die Methode übernimmt alle notwendigen Schritte für den Import des Bildes.
Legen Sie los mit IronOCR
Beginnen Sie noch heute mit der Verwendung von IronOCR in Ihrem Projekt mit einer kostenlosen Testversion.
Lesen von Streams
- Download einer C#-Bibliothek zum Lesen von Streams
- Beschaffung und Aufbereitung der Bildstromdaten
- Übergeben Sie den Bildstrom an die OcrImageInput konstruktor zum Importieren des Bildes
- Verwenden Sie die
Lesen Sie
methode zur Durchführung der OCR - Definieren Sie den Lesebereich, indem Sie den Beschnittbereich angeben
Beispiel für Leseströme
Zunächst instanziieren Sie die Klasse IronTesseract, um die OCR durchzuführen. Verwenden Sie die Methode FromFile
von AnyBitmap, um die Bilddatei zu importieren. Dieses AnyBitmap-Objekt ist in der Lage, die Bilddaten in einen Stream umzuwandeln. Als nächstes verwenden Sie die Anweisung "using", um das Objekt OcrImageInput zu erstellen, indem Sie den Bildstrom mit der Methode "GetStream" des Objekts AnyBitmap übergeben. Verwenden Sie schließlich die Methode "Read", um die OCR durchzuführen.
:path=/static-assets/ocr/content-code-examples/how-to/input-streams-read-streams.cs
using IronOcr;
using IronSoftware.Drawing;
// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();
// Read image file to AnyBitmap
AnyBitmap anyBitmap = AnyBitmap.FromFile("Potter.tiff");
// Import image stream
using var imageInput = new OcrImageInput(anyBitmap.GetStream());
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);
Imports IronOcr
Imports IronSoftware.Drawing
' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()
' Read image file to AnyBitmap
Private anyBitmap As AnyBitmap = AnyBitmap.FromFile("Potter.tiff")
' Import image stream
Private imageInput = New OcrImageInput(anyBitmap.GetStream())
' Perform OCR
Private ocrResult As OcrResult = ocrTesseract.Read(imageInput)
Scanbereich festlegen
Um die Leistung bei großen Bildern zu verbessern und spezifische Messwerte aus bestimmten Regionen zu erhalten, können Sie die Klasse CropRectangle verwenden. Der OcrImageInput-Konstruktor akzeptiert ein CropRectangle-Objekt als zweiten Parameter. Damit können Sie festlegen, welcher Bereich des Bilddokuments gelesen werden soll. Im nachstehenden Codebeispiel wird angegeben, dass nur die Kapitelnummer und der Titelbereich gelesen werden sollen.
:path=/static-assets/ocr/content-code-examples/how-to/input-streams-read-specific-region.cs
using IronOcr;
using IronSoftware.Drawing;
using System;
// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();
// Read image file to AnyBitmap
AnyBitmap anyBitmap = AnyBitmap.FromFile("Potter.tiff");
// Specify crop region
Rectangle scanRegion = new Rectangle(800, 200, 900, 400);
// Add image
using var imageInput = new OcrImageInput(anyBitmap.GetStream(), 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()
' Read image file to AnyBitmap
Private anyBitmap As AnyBitmap = AnyBitmap.FromFile("Potter.tiff")
' Specify crop region
Private scanRegion As New Rectangle(800, 200, 900, 400)
' Add image
Private imageInput = New OcrImageInput(anyBitmap.GetStream(), ContentArea:= scanRegion)
' Perform OCR
Private ocrResult As OcrResult = ocrTesseract.Read(imageInput)
' Output the result to console
Console.WriteLine(ocrResult.Text)