Bildfarben zum Lesen korrigieren
Die Korrektur von Bildfarben umfasst mehrere Techniken zur Verbesserung der Lesbarkeit und Qualität eines Bildes. IronOCR bietet Binarisierungs-, Graustufen-, Invertierungs- und Farbersetzungsmethoden, um Text und Inhalt eines Bildes besser lesbar und ästhetisch ansprechend zu machen, was besonders bei der Arbeit mit OCR wichtig ist(Optische Zeichenerkennung) um Text aus Bildern zu extrahieren. Es ist auch möglich, nur die ausgewählte Textfarbe zu lesen.
Legen Sie los mit IronOCR
Beginnen Sie noch heute mit der Verwendung von IronOCR in Ihrem Projekt mit einer kostenlosen Testversion.
Bildfarben zum Lesen korrigieren
- Download einer C#-Bibliothek zur Korrektur von Bildfarben
- Importieren Sie das PDF-Dokument und die Bilder zum Lesen
- Wenden Sie die gewünschten Farbeffekte an, z. B. Binarisierung, Graustufen, Invertierung und Farbersetzung
- Exportieren Sie das korrigierte Bild zur Ansicht
- Lesen Sie bestimmte Textfarben mit der Option
SelectTextColor
methode
Bild binarisieren Beispiel
Bei diesem Verfahren wird das Bild in ein zweifarbiges Format umgewandelt, in der Regel Schwarz und Weiß. Es ist nützlich, um den Text vom Hintergrund zu trennen und das Rauschen zu reduzieren, wodurch der Text deutlicher und leichter lesbar wird.
Um den Binarisierungseffekt auf das Bild anzuwenden, verwenden Sie die Methode Binarize
. Da OCR-Prozesse am besten mit dem kontrastreichsten Bild funktionieren, das schwarzen Text auf weißem Hintergrund zeigt, erweist sich diese Methode als wichtig, um den Hintergrund deutlich von den Buchstaben zu unterscheiden.
:path=/static-assets/ocr/content-code-examples/how-to/image-color-correction-binarize-image.cs
using IronOcr;
// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();
// Add image
using var imageInput = new OcrImageInput("sample.jpg");
// Apply binarize affect
imageInput.Binarize();
// Export the modified image
imageInput.SaveAsImages("binarize");
Imports IronOcr
' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()
' Add image
Private imageInput = New OcrImageInput("sample.jpg")
' Apply binarize affect
imageInput.Binarize()
' Export the modified image
imageInput.SaveAsImages("binarize")
Der Einfachheit halber können Sie das geänderte Bild mit der Methode SaveAsImages
exportieren. Nachfolgend sehen Sie einen Vergleich des Bildes vor und nach der Binarisierung.
Vor
Nach
Beispiel für ein Graustufenbild
Durch die Umwandlung des Bildes in verschiedene Grautöne kann es weniger ablenkend und leserfreundlicher gestaltet werden. Dies ist vor allem dann hilfreich, wenn die Originalfarben des Bildes eine visuelle Unordnung verursachen.
Um den Graustufeneffekt auf das Bild anzuwenden, verwenden Sie die Methode "ToGrayScale". Beim Graustufenverfahren wird der Durchschnitt der R-, G- und B-Werte gebildet.
:path=/static-assets/ocr/content-code-examples/how-to/image-color-correction-grayscale-image.cs
// Apply grayscale affect
imageInput.ToGrayScale();
' Apply grayscale affect
imageInput.ToGrayScale()
Vor
Nach
Beispiel für ein invertiertes Bild
Die Umkehrung der Farben kann den Kontrast erhöhen. Wenn beispielsweise weißer Text auf schwarzem Hintergrund in schwarzen Text auf weißem Hintergrund umgewandelt wird, kann die Lesbarkeit verbessert werden.
Verwenden Sie die Methode Invert
, um die Bildfarbe zu invertieren. Die Methode akzeptiert optional einen booleschen Wert, der verwendet wird, um alle Farbkanäle zu entfernen und ein Graustufenbild zurückzugeben.
:path=/static-assets/ocr/content-code-examples/how-to/image-color-correction-invert-image.cs
// Apply invert affect
imageInput.Invert();
' Apply invert affect
imageInput.Invert()
Die folgenden Bilder zeigen die Methode Invertieren mit und ohne die Option Graustufen.
Umgekehrt
Invertiert & Grauskaliert
Beispiel für eine Ersetzung der Farbe
Mit dieser Technik können Sie bestimmte Farben im Bild durch andere Farben ersetzen, um bestimmte Elemente hervorzuheben oder zu betonen. Er wird häufig verwendet, um Text hervorzuheben oder problematische Farbkontraste zu korrigieren.
Um die Methode ReplaceColor
zu verwenden, geben Sie die aktuelle Farbe, die ersetzt werden soll, sowie die neue Farbe an. Der dritte Parameter der Methode, der dem Toleranzwert entspricht, ist ebenfalls wichtig. Bei unscharfen Bildern ist eine höhere Toleranz erforderlich, um das gewünschte Ergebnis zu erzielen.
:path=/static-assets/ocr/content-code-examples/how-to/image-color-correction-replace-color.cs
using IronOcr;
// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();
// Add image
using var imageInput = new OcrImageInput("sample.jpg");
IronSoftware.Drawing.Color currentColor = new IronSoftware.Drawing.Color("#DB645C");
IronSoftware.Drawing.Color newColor = IronSoftware.Drawing.Color.DarkCyan;
// Replace color
imageInput.ReplaceColor(currentColor, newColor, 80);
// Export the modified image
imageInput.SaveAsImages("replaceColor");
Imports IronOcr
' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()
' Add image
Private imageInput = New OcrImageInput("sample.jpg")
Private currentColor As New IronSoftware.Drawing.Color("#DB645C")
Private newColor As IronSoftware.Drawing.Color = IronSoftware.Drawing.Color.DarkCyan
' Replace color
imageInput.ReplaceColor(currentColor, newColor, 80)
' Export the modified image
imageInput.SaveAsImages("replaceColor")
Vor
Nach
Spezifische Textfarbe lesen Beispiel
Diese Funktion zielt darauf ab, nur die angegebene Textfarbe zu lesen. Verwenden Sie die Methode SelectTextColor
, um die Farbe, auf die IronOCR fokussieren soll, zusammen mit dem Toleranzwert anzugeben. Der Toleranzwert akzeptiert einen Bereich von 0-255, der die zulässige Differenz zwischen der Pixelfarbe und der ausgewählten Farbe für jeden R-, G- und B-Wert im Farbraum darstellt.
:path=/static-assets/ocr/content-code-examples/how-to/image-color-correction-select-text-color.cs
using IronOcr;
using System;
// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();
// Add image
using var imageInput = new OcrImageInput("sample.jpg");
// Text color to focus on
IronSoftware.Drawing.Color focusColor = new IronSoftware.Drawing.Color("#DB645C");
// Specify which text color to read
imageInput.SelectTextColor(focusColor, 60);
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);
// Output result to console
Console.WriteLine(ocrResult.Text);
Imports IronOcr
Imports System
' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()
' Add image
Private imageInput = New OcrImageInput("sample.jpg")
' Text color to focus on
Private focusColor As New IronSoftware.Drawing.Color("#DB645C")
' Specify which text color to read
imageInput.SelectTextColor(focusColor, 60)
' Perform OCR
Dim ocrResult As OcrResult = ocrTesseract.Read(imageInput)
' Output result to console
Console.WriteLine(ocrResult.Text)
Unten finden Sie das OCR-Ergebnis, das nur den Text in orangefarbener Farbe lesen soll.