How to Fix Image Colors for Reading

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

Das Beheben von Bildfarben umfasst mehrere Techniken, um die Lesbarkeit und Qualität eines Bildes zu verbessern. IronOcr bietet Methoden zur Binarisierung, Graustufen, Inversion und Farbersetzung, um Text und Inhalte innerhalb eines Bildes lesbarer und ästhetisch ansprechender zu machen, was besonders wichtig ist, wenn man mit OCR (Optische Zeichenerkennung) arbeitet, um Text aus Bildern zu extrahieren. Nur die ausgewählte Textfarbe zu lesen, ist ebenfalls möglich.

Schnellstart: Spezifische Textfarben auf einmal isolieren

Verwenden Sie die SelectTextColor-Methode von IronOCR, um OCR nur auf die Textfarbe zu fokussieren, die Ihnen wichtig ist—keine komplexe Bildmanipulation. In einer Zeile können Sie ein Bild laden, die Textfarbe und Toleranz auswählen und nur diesen Text für genaue OCR-Ergebnisse extrahieren.

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronOCR with NuGet Package Manager

    PM > Install-Package IronOcr

  2. Copy and run this code snippet.

    new IronTesseract().Read(new IronOcr.OcrImageInput("sample.jpg").SelectTextColor(new IronSoftware.Drawing.Color("#DB645C"), 60));
  3. Deploy to test on your live environment

    Start using IronOCR in your project today with a free trial
    arrow pointer
class="hsg-featured-snippet">

Minimaler Workflow (5 Schritte)

  1. Laden Sie eine C#-Bibliothek herunter, um Bildfarben zu korrigieren
  2. Importieren Sie das PDF-Dokument und die Bilder zum Lesen
  3. Wenden Sie die gewünschten Farbeffekte wie Binarisierung, Graustufen, Inversion und Farbersetzung an
  4. Exportieren Sie das korrigierte Bild zur Ansicht
  5. Lesen Sie spezielle Textfarben mit der SelectTextColor-Methode


Beispiel zur Binarisierung von Bildern

Dieser Prozess wandelt das Bild in ein Zweifarbenformat um, typischerweise Schwarz und Weiß. Es ist nützlich, um Text vom Hintergrund zu trennen und Rauschen zu reduzieren, wodurch der Text deutlicher und leichter lesbar wird.

Um den Binarisierungseffekt auf das Bild anzuwenden, verwenden Sie die Binarize-Methode. Da OCR-Prozesse am besten mit dem höchstkontrastierten Bild arbeiten, auf dem schwarzer Text auf weißem Hintergrund erscheint, erweist sich diese Methode als erheblich, um den Hintergrund deutlich von den Zeichen abzuheben.

: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")
$vbLabelText   $csharpLabel

Zur Bequemlichkeit können Sie das bearbeitete Bild mit der SaveAsImages-Methode exportieren. Unten ist ein Vergleich des Bildes vor und nach der Binarisierung.

class="competitors-section__wrapper-even-1">
Beispielbild
Binarisiertes Bild

Beispiel für Graustufenbilder

Die Umwandlung des Bildes in verschiedene Grautöne kann es weniger ablenkend und leserfreundlicher machen. Dies ist besonders hilfreich, wenn die Originalfarben im Bild visuelles Durcheinander verursachen.

Um den Graustufeneffekt auf das Bild anzuwenden, verwenden Sie die ToGrayScale-Methode. Der Graustufenprozess beinhaltet das Nehmen des Durchschnitts der R-, G- und B-Werte.

: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()
$vbLabelText   $csharpLabel
class="competitors-section__wrapper-even-1">
Beispielbild
Graustufenbild

Beispiel für invertierte Bilder

Das Invertieren der Farben kann den Kontrast erhöhen. Zum Beispiel kann das Umwandeln weißer Schrift auf schwarzem Hintergrund in schwarze Schrift auf weißem Hintergrund die Lesbarkeit verbessern.

Verwenden Sie die Invert-Methode, 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()
$vbLabelText   $csharpLabel

Die untenstehenden Bilder zeigen die Invertieren-Methode mit und ohne Graustufenoption.

class="competitors-section__wrapper-even-1">
Invertiertes Bild
Invertiertes und Graustufenbild

Beispiel zur Farbersetzung

Diese Technik ermöglicht es, bestimmte Farben im Bild durch andere Farben zu ersetzen, was helfen kann, bestimmte Elemente hervorzuheben oder zu dezentrieren. Es wird oft verwendet, um Text hervorzuheben oder problematische Farbkontraste zu korrigieren.

Um die ReplaceColor-Methode zu verwenden, geben Sie die aktuelle Farbe an, die ersetzt werden soll, sowie die neue Farbe. Der dritte Parameter der Methode, der dem Toleranzwert entspricht, ist ebenfalls wichtig. Bei verschwommenen 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")
$vbLabelText   $csharpLabel
class="competitors-section__wrapper-even-1">
Beispielbild
Farbersetzungsbild

Beispiel zum Lesen spezifischer Textfarben

Diese Funktion zielt darauf ab, nur die angegebene Textfarbe zu lesen. Verwenden Sie die SelectTextColor-Methode, um die Farbe anzugeben, auf die sich IronOcr konzentrieren soll, zusammen mit dem Toleranzwert. Der Toleranzwert akzeptiert einen Bereich von 0-255, was die zulässige Differenz zwischen Pixel- und ausgewählter 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)
$vbLabelText   $csharpLabel

Nachfolgend finden Sie das OCR-Ergebnis, das nur den Text in einer orangefarbenen Farbe lesen soll.

class="content-img-align-center">
class="center-image-wrapper"> OCR-Ergebnis

Durchsuchbare PDFs

Zusätzlich zu den Bildfilteroptionen erlaubt IronOcr Entwicklern, geänderte PDFs entweder mit oder ohne diese Filter zu speichern. Die SaveAsSearchablePdf-Methode beinhaltet eine boolesche Flagge als zweiten Parameter, der es Benutzern ermöglicht, festzulegen, ob das PDF mit den aktivierten oder deaktivierten Filtern gespeichert werden soll.

:path=/static-assets/ocr/content-code-examples/how-to/image-quality-correction-searchable-pdf.cs
using IronOcr;

var ocr = new IronTesseract();
var ocrInput = new OcrInput();

// Load a PDF file
ocrInput.LoadPdf("invoice.pdf");

// Apply gray scale filter
ocrInput.ToGrayScale();
OcrResult result = ocr.Read(ocrInput);

// Save the result as a searchable PDF with filters applied
result.SaveAsSearchablePdf("outputGrayscale.pdf", true);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Häufig gestellte Fragen

Wie kann ich Bildfarben für OCR in .NET C# verbessern?

Sie können Bildfarben für OCR in .NET C# mithilfe von IronOCR verbessern. Beginnen Sie damit, die IronOCR-Bibliothek von NuGet herunterzuladen, das Bild zu importieren und Farbkorrekturtechniken wie Binarisierung, Graustufen und Umkehrung anzuwenden, um die Textlesbarkeit zu verbessern.

Welche Rolle spielt die Binarisierung bei der Bildfarbkorrektur?

Die Binarisierung bei der Bildfarbkorrektur wandelt ein Bild in ein Schwarz-Weiß-Format um, das dabei hilft, den Text vom Hintergrund zu trennen, Rauschen zu reduzieren und den Text deutlicher zu machen, um bessere OCR-Ergebnisse mit IronOCR zu erzielen.

Wie profitieren OCR-Prozesse von der Anwendung von Graustufeneffekten?

Die Anwendung von Graustufeneffekten reduziert Farbablenkungen, indem das Bild in Grautöne umgewandelt wird. Diese Vereinfachung macht das Bild weniger überladen und verbessert die Textlesbarkeit, was vorteilhaft für OCR-Prozesse mit IronOCR ist.

Was sind die Vorteile der Umkehrung von Bildfarben zur Textextraktion?

Die Umkehrung von Bildfarben erhöht den Kontrast, indem Farbschemata geändert werden, z. B. weiße Schrift auf schwarzem Hintergrund zu schwarzer Schrift auf weißem Hintergrund. Diese Kontrastverbesserung kann die Genauigkeit der Textextraktion in OCR mit IronOCR verbessern.

Wie können Sie spezifische Farben in einem Bild für bessere OCR-Ergebnisse ändern?

Um spezifische Farben in einem Bild für bessere OCR-Ergebnisse zu ändern, verwenden Sie die ReplaceColor-Methode in IronOCR. Geben Sie die Originalfarbe, die neue Farbe an und passen Sie den Toleranzwert an, um die Farbänderung fein abzustimmen.

Ist es möglich, sich während der OCR auf Text einer bestimmten Farbe zu konzentrieren?

Ja, Sie können sich während der OCR auf Text einer bestimmten Farbe konzentrieren, indem Sie die SelectTextColor-Methode in IronOCR verwenden. Dies ermöglicht es Ihnen, die Zieltextfarbe und einen Toleranzwert anzugeben, um die OCR-Genauigkeit für farbigen Text zu verbessern.

Wie exportieren Sie bearbeitete Bilder nach der Farbkorrektur?

Nach der Anwendung der Farbkorrektur auf Bilder können Sie diese mithilfe der SaveAsImages-Methode in IronOCR exportieren. So können Sie die bearbeiteten Bilder zur weiteren Verarbeitung oder Ansicht speichern.

Warum ist die Anpassung des Bildkontrasts wichtig für die OCR-Genauigkeit?

Die Anpassung des Bildkontrasts ist entscheidend für die OCR-Genauigkeit, da sie dabei hilft, den Text vom Hintergrund zu unterscheiden und Zeichen deutlicher hervorzuheben, sodass OCR-Algorithmen sie leichter extrahieren können, insbesondere bei Verwendung von IronOCR.

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender ...

Weiterlesen
Rezensiert von
Jeff Fritz
Jeffrey T. Fritz
Principal Program Manager - .NET Community Team
Jeff ist außerdem Principal Program Manager für das .NET- und Visual Studio-Team. Er ist der ausführende Produzent der .NET Conf Virtual Conference Series und moderiert ‚Fritz and Friends‘, einen Livestream für Entwickler, der zweimal wöchentlich ausgestrahlt wird. Dort spricht er über Technik und schreibt gemeinsam mit den Zuschauern Code. Jeff schreibt Workshops, Präsentationen und plant Inhalte für die größten Microsoft-Entwicklerveranstaltungen, einschließlich Microsoft Build, Microsoft Ignite, .NET Conf und dem Microsoft MVP Summit.
Bereit anzufangen?
Nuget Downloads 5,044,537 | Version: 2025.11 gerade veröffentlicht