Bildfarben für Texterkennung korrigieren – OCR Software Bildoptimierung C
Korrigieren Sie Bildfarben in C# mit IronOCRs Binarisierungs-, Graustufen-, Invertierungs- und Farbersetzungsmethoden, um die Textlesbarkeit und Texterkennung zu verbessern. Diese OCR Software ermöglicht das gezielte Lesen spezifischer Textfarben für präzise Bild zu Text Extraktion.
Schnellstart: Bestimmte Textfarben isolieren
Mit der SelectTextColor-Methode von IronOCR können Sie die OCR auf bestimmte Textfarben fokussieren – eine komplexe Bildmanipulation ist nicht erforderlich. Laden Sie ein Bild, wählen Sie die Textfarbe und -toleranz, und extrahieren Sie nur den Text, um genaue OCR-Ergebnisse zu erzielen.
-
Installieren Sie IronOCR mit NuGet Package Manager
PM > Install-Package IronOcr -
Kopieren Sie diesen Codeausschnitt und führen Sie ihn aus.
new IronTesseract().Read(new IronOcr.OcrImageInput("sample.jpg").SelectTextColor(new IronSoftware.Drawing.Color("#DB645C"), 60)); -
Bereitstellen zum Testen in Ihrer Live-Umgebung
Beginnen Sie noch heute, IronOCR in Ihrem Projekt zu verwenden, mit einer kostenlosen Testversion
Wie man in C# Bildfarben zum Lesen korrigiert
- Herunterladen einer C#-Bibliothek zur Korrektur von Bildfarben
- Importieren Sie das PDF-Dokument und die Bilder zum Lesen
- Farbeffekte anwenden: Binarisierung, Graustufen, Invertierung und Farbersetzung
- Exportieren Sie das korrigierte Bild zur Ansicht
- Lesen Sie bestimmte Textfarben mit `SelectTextColor`
Wie kann ich ein Bild binarisieren, um die OCR zu verbessern?
Bei der Binarisierung werden Bilder in ein zweifarbiges Format umgewandelt, in der Regel in Schwarz und Weiß. Dadurch wird der Text vom Hintergrund getrennt und das Rauschen reduziert, wodurch der Text deutlicher und leichter zu lesen ist.
Warum verbessert die Binarisierung die OCR-Genauigkeit?
Wenden Sie die Binarisierung mit der Methode Binarize an. OCR funktioniert am besten mit kontrastreichen Bildern, die schwarzen Text auf weißem Hintergrund enthalten. Diese Methode schafft eine klare Unterscheidung zwischen Hintergrund und Zeichen.
Die Binarisierung eignet sich besonders für gescannte Dokumente mit ungleichmäßiger Beleuchtung oder Hintergrundrauschen. Der Algorithmus analysiert die Bilder und bestimmt optimale Schwellenwerte, um den Vordergrundtext vom Hintergrund zu trennen. Für fortgeschrittene Vorverarbeitungstechniken siehe den OCR Image Optimization Filters guide.
Was ist die Code-Implementierung für die Binarisierung?
: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.jpg");
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.jpg")
Kombinieren Sie bei der Stapelverarbeitung die Binarisierung mit anderen Filtern. Verwenden Sie den Filter-Assistenten, um die beste Filterkombination für Ihre Bilder zu bestimmen.
Wie kann ich Ergebnisse exportieren und vergleichen?
Exportieren Sie geänderte Bilder mit der Methode SaveAsImages. Vergleichen Sie unten die Bilder vor und nach der Binarisierung.
Vorher
Nachher
Wie konvertiere ich Bilder in Graustufen, um sie besser lesen zu können?
Die Konvertierung von Bildern in Graustufen reduziert die visuelle Unübersichtlichkeit und verbessert die Lesbarkeit. Dies ist hilfreich, wenn die Originalfarben vom Inhalt ablenken.
Wann sollte ich Graustufen gegenüber anderen Methoden bevorzugen?
Wenden Sie die Graustufenmethode ToGrayScale an. Der Prozess ermittelt den Durchschnitt der R-, G- und B-Werte.
Graustufen eignen sich gut bei farbigen Hintergründen oder Wasserzeichen, die die Texterkennung stören. Im Gegensatz zur Binarisierung bleiben bei der Graustufenübersetzung Details in Bildern mit feinen Abweichungen erhalten. Verwenden Sie es für Fotos mit eingebettetem Text oder komplexen Layouts. Für Scans von schlechter Qualität siehe Fixing Low Quality Scans & Images.
Was ist der einfache Code für die Graustufen-Konvertierung?
: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()
Für unterschiedliche Bildqualitäten kombinieren Sie Graustufen mit anderen Vorverarbeitungsschritten. Die OcrInput Klasse Dokumentation erklärt die Verkettung mehrerer Filter.
Wie ist die Graustufe im Vergleich zum Original?
Vorher
Nachher
Wann sollte ich Bildfarben invertieren?
Das Invertieren von Farben erhöht den Kontrast. Die Umwandlung von weißem Text auf schwarzem Hintergrund in schwarzen Text auf weißem Hintergrund verbessert die Lesbarkeit.
Wie implementiere ich Farbumkehr?
Verwenden Sie die Methode Invert, um Farben umzukehren. Übergeben Sie einen booleschen Wert, um Farbkanäle zu entfernen und Graustufen zurückzugeben.
Die Farbinversion behandelt negative Bilder oder Screenshots mit dunklem Thema. Moderne Anwendungen verwenden Dark-Mode-Schnittstellen, die eine Herausforderung für die herkömmliche OCR darstellen. Die Invertierung dieser Bilder gewährleistet eine optimale Erkennung. Für verschiedene Bildtypen siehe die Fast OCR Configuration guide.
: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()
Für die Stapelverarbeitung mit gemischten Dokumenttypen sollte eine automatische Erkennung von dunklem Hintergrund implementiert werden. Computer Vision-Funktionen in IronOCR erkennen, wann eine Inversion erforderlich ist.
Was ist der Unterschied zwischen Invertierungsoptionen?
Vergleichen Sie die Invert Methode mit und ohne Graustufen:
Umgekehrt
Invertiert & Graustufen
Wie kann ich bestimmte Farben in einem Bild ersetzen?
Ersetzen Sie bestimmte Farben, um Elemente hervorzuheben oder zu verbergen. Verwenden Sie diese Funktion, um die Hervorhebung des Textes zu verbessern oder problematische Kontraste zu korrigieren.
Warum ist Toleranz bei der Farbersetzung wichtig?
Die Methode ReplaceColor erfordert die aktuelle Farbe, die neue Farbe und den Toleranzwert. Bei höherer Toleranz werden unscharfe Bilder besser verarbeitet.
Die Toleranz bestimmt, wie genau die Pixel mit der Zielfarbe übereinstimmen müssen. Niedrige Werte (0-50) eignen sich für einheitliche Farben. Höhere Werte (100-200) behandeln Text mit Anti-Aliasing oder Kompressionsartefakte. Dies hilft bei gescannten Dokumenten, bei denen die Tinte ausläuft oder die Papierstruktur zu Abweichungen führt.
Wie implementiere ich die Farbersetzung?
: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")
Wie gehe ich mit erweiterten Farbersetzungsszenarien um?
Verketten Sie mehrere Ersetzungen für komplexe Szenarien:
/* :path=/static-assets/ocr/content-code-examples/how-to/image-color-correction-multiple-replacements.cs */
// Replace multiple colors in sequence
using var imageInput = new OcrImageInput("multi-color-document.jpg");
// Replace red text with black
imageInput.ReplaceColor(IronSoftware.Drawing.Color.Red, IronSoftware.Drawing.Color.Black, 70);
// Replace blue headers with dark gray
imageInput.ReplaceColor(IronSoftware.Drawing.Color.Blue, IronSoftware.Drawing.Color.DarkGray, 60);
// Replace light yellow background with white
imageInput.ReplaceColor(new IronSoftware.Drawing.Color("#FFFACD"), IronSoftware.Drawing.Color.White, 40);
// Perform OCR on the cleaned image
var result = ocrTesseract.Read(imageInput);
/* :path=/static-assets/ocr/content-code-examples/how-to/image-color-correction-multiple-replacements.cs */
// Replace multiple colors in sequence
using var imageInput = new OcrImageInput("multi-color-document.jpg");
// Replace red text with black
imageInput.ReplaceColor(IronSoftware.Drawing.Color.Red, IronSoftware.Drawing.Color.Black, 70);
// Replace blue headers with dark gray
imageInput.ReplaceColor(IronSoftware.Drawing.Color.Blue, IronSoftware.Drawing.Color.DarkGray, 60);
// Replace light yellow background with white
imageInput.ReplaceColor(new IronSoftware.Drawing.Color("#FFFACD"), IronSoftware.Drawing.Color.White, 40);
// Perform OCR on the cleaned image
var result = ocrTesseract.Read(imageInput);
Imports IronSoftware.Drawing
' Replace multiple colors in sequence
Using imageInput As New OcrImageInput("multi-color-document.jpg")
' Replace red text with black
imageInput.ReplaceColor(Color.Red, Color.Black, 70)
' Replace blue headers with dark gray
imageInput.ReplaceColor(Color.Blue, Color.DarkGray, 60)
' Replace light yellow background with white
imageInput.ReplaceColor(New Color("#FFFACD"), Color.White, 40)
' Perform OCR on the cleaned image
Dim result = ocrTesseract.Read(imageInput)
End Using
Für komplexe Farbersetzungen siehe Bildkorrekturfilter für zusätzliche Vorverarbeitungstechniken.
Was sind die visuellen Ergebnisse der Farbersetzung?
Vorher
Nachher
Wie kann ich nur bestimmte Textfarben lesen?
Lesen Sie bestimmte Textfarben mit der Methode SelectTextColor. Geben Sie die Zielfarbe und die Toleranz (0-255) an. Die Toleranz stellt die zulässigen Unterschiede zwischen Pixel und ausgewählter Farbe für R-, G- und B-Werte dar.
Wie wirkt sich die Farbtoleranz auf die Ergebnisse aus?
: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)
Verwenden Sie selektives Farblesen für Formulare mit farblich gekennzeichneten Abschnitten, Extrahieren von hervorgehobenem Text oder Lesen bestimmter Warnmeldungen. Für die Extraktion strukturierter Daten siehe OcrResult Klasse für die erweiterte Verarbeitung.
Welche Ausgabe kann ich von der Farbauswahl erwarten?
Das OCR-Ergebnis liest nur orangefarbenen Text:
Wie speichere ich geänderte PDF-Dateien mit angewandten Filtern?
IronOCR speichert modifizierte PDFs mit oder ohne Filter. Der zweite Parameter der Methode SaveAsSearchablePdf gibt an, ob mit angewendeten Filtern gespeichert werden soll.
Was ist die Implementierung für durchsuchbare PDFs?
:path=/static-assets/ocr/content-code-examples/how-to/image-quality-correction-searchable-pdf.cs
using IronOcr;
// Create OCR engine: filters are applied at the OcrInput level, so no configuration changes are needed here
var ocr = new IronTesseract();
var ocrInput = new OcrInput();
// Load the scanned PDF as the OCR source
ocrInput.LoadPdf("invoice.pdf");
// Convert to grayscale: removes color noise that can reduce OCR accuracy on color-printed documents
ocrInput.ToGrayScale();
// Run OCR on the preprocessed input
OcrResult result = ocr.Read(ocrInput);
// Write the searchable PDF; true = embed the grayscale-filtered image rather than the original color scan
result.SaveAsSearchablePdf("outputGrayscale.pdf", true);
Imports IronOcr
' Create OCR engine: filters are applied at the OcrInput level, so no configuration changes are needed here
Dim ocr As New IronTesseract()
Dim ocrInput As New OcrInput()
' Load the scanned PDF as the OCR source
ocrInput.LoadPdf("invoice.pdf")
' Convert to grayscale: removes color noise that can reduce OCR accuracy on color-printed documents
ocrInput.ToGrayScale()
' Run OCR on the preprocessed input
Dim result As OcrResult = ocr.Read(ocrInput)
' Write the searchable PDF; True = embed the grayscale-filtered image rather than the original color scan
result.SaveAsSearchablePdf("outputGrayscale.pdf", True)
Wann sollte ich Filter auf die gespeicherte PDF-Datei anwenden?
Wenden Sie Filter an, um sauberere, besser lesbare Dokumente zu erstellen. Dies hilft bei der Archivierung oder der gemeinsamen Nutzung von Dokumenten auf verschiedenen Geräten. Weitere Informationen finden Sie unter Erstellen durchsuchbarer PDFs mit OCR.
Für komplexe Dokumente mit Tabellen können Sie Tabelle im Dokument lesen für eine spezielle Extraktion nutzen. Für die Verarbeitung großer Datenmengen siehe Multithreaded Tesseract OCR zur Optimierung der Filteranwendung für mehrere Dokumente.
Häufig gestellte Fragen
Wie kann ich schlechte Bildfarben korrigieren, die die OCR-Genauigkeit beeinträchtigen?
IronOCR bietet mehrere Farbkorrekturmethoden, darunter Binarisierung, Graustufenumwandlung, Invertierung und Farbersetzung. Diese Filter tragen dazu bei, die Lesbarkeit von Text zu verbessern, indem sie den Kontrast zwischen Text und Hintergrund verstärken, wodurch es für die OCR-Engine einfacher wird, Text aus Bildern mit schlechter Farbqualität genau zu extrahieren.
Was ist Binarisierung und wann sollte ich sie für OCR verwenden?
Die Binarisierung konvertiert Bilder mit der IronOCR-Methode Binarize in ein zweifarbiges Format (in der Regel schwarz-weiß). Es ist besonders effektiv für gescannte Dokumente mit ungleichmäßiger Beleuchtung oder Hintergrundrauschen, da es eine klare Unterscheidung zwischen Text und Hintergrund schafft, indem es das Bild analysiert und optimale Schwellenwerte für die Trennung bestimmt.
Wie extrahiere ich nur bestimmten farbigen Text aus einem Bild?
Die SelectTextColor-Methode von IronOCR ermöglicht die Fokussierung der OCR auf bestimmte Textfarben ohne komplexe Bildmanipulation. Geben Sie einfach die Zielfarbe und die Toleranzstufe an - zum Beispiel SelectTextColor(new IronSoftware.Drawing.Color("#DB645C")), 60) - um nur Text in diesem Farbbereich zu extrahieren.
Wann sollte ich Bilder in Graustufen umwandeln, anstatt sie zu binarisieren?
Verwenden Sie die ToGrayScale-Methode von IronOCR, wenn Sie es mit farbigen Hintergründen oder Wasserzeichen zu tun haben, die bei der Texterkennung stören. Im Gegensatz zur Binarisierung bleiben bei der Graustufenmethode die Details in Bildern mit feinen Abweichungen erhalten, so dass sie ideal ist, wenn Sie die Bildqualität beibehalten und gleichzeitig die visuelle Unübersichtlichkeit reduzieren möchten.
Kann ich korrigierte Bilder exportieren, um die Ergebnisse von Farbfiltern zu sehen?
Ja, IronOCR bietet die SaveAsImages-Methode, um geänderte Bilder nach der Anwendung von Farbkorrekturen zu exportieren. So können Sie die Ergebnisse vorher und nachher vergleichen und feststellen, welche Farbkorrekturmethoden für Ihre spezifischen Bilder am besten geeignet sind.
Wie kann ich den besten Farbkorrekturfilter für meine Bilder bestimmen?
IronOCR enthält einen Filter-Assistenten, der Ihnen hilft, die optimale Filterkombination für Ihre Bilder zu bestimmen. Bei der Stapelverarbeitung können Sie mehrere Filter wie die Binarisierung mit anderen Vorverarbeitungstechniken kombinieren, um die besten OCR-Ergebnisse für Ihren Dokumententyp zu erzielen.

