Wie man Bilder mit Hilfe von Filtern zum Lesen korrigiert

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

von Chaknith Bin

Bildkorrekturfilter sind digitale Bildverarbeitungstechniken, die zur Verbesserung der Qualität und der Eigenschaften eines Bildes eingesetzt werden, insbesondere zur Verbesserung der Texterkennung und -extraktion. Die in IronOCR verfügbaren Bildkorrekturfilter sind Schärfen, Auflösung verbessern, Entschärfen, Dilatieren und Erodieren.

Diese Bildkorrekturfilter spielen eine entscheidende Rolle bei der Vorverarbeitung von Bildern vor der OCR, da sie dazu beitragen, das Bild für eine genaue Textextraktion zu optimieren, indem sie die Qualität und Sichtbarkeit des Textes verbessern und unerwünschtes Rauschen oder Artefakte reduzieren.

Legen Sie los mit IronOCR

Beginnen Sie noch heute mit der Verwendung von IronOCR in Ihrem Projekt mit einer kostenlosen Testversion.

Erster Schritt:
green arrow pointer



Beispiel für einen Scharfzeichnungsfilter

Dieser Filter erhöht den Kontrast an den Kanten des Bildes und verleiht ihnen ein klareres Aussehen. Sie verbessert die Klarheit des Textes und der Details, so dass OCR-Software die Zeichen leichter erkennen kann.

Um den Scharfzeichnungsfilter anzuwenden, rufen Sie einfach die Methode Sharpen des OcrImageInput-Objekts auf.

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

// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

// Add image
using var imageInput = new OcrImageInput("sample.jpg");
// Apply sharpen filter
imageInput.Sharpen();

// Export filtered image
imageInput.SaveAsImages("sharpen");
Imports IronOcr

' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()

' Add image
Private imageInput = New OcrImageInput("sample.jpg")
' Apply sharpen filter
imageInput.Sharpen()

' Export filtered image
imageInput.SaveAsImages("sharpen")
VB   C#

Der Einfachheit halber können Sie das gefilterte Bild mit der Methode SaveAsImages exportieren. Nachfolgend sehen Sie einen Vergleich des Bildes vor und nach Anwendung des Schärfefilters.

Beispielbild
Scharfzeichnungsfilter angewendet

Beispiel für Auflösungsfilter erweitern

Dieser Filter erhöht die Pixeldichte eines Bildes und verbessert so dessen Schärfe und Klarheit. Sie kann besonders nützlich sein, um die Lesbarkeit von Text in Bildern mit niedriger Auflösung zu verbessern.

In ähnlicher Weise können Sie die Methode "EnhanceResolution" aufrufen, um den erweiterten Auflösungsfilter anzuwenden. Diese Methode akzeptiert auch das gewünschte Ziel, wobei 225 DPI der Standardwert ist.

:path=/static-assets/ocr/content-code-examples/how-to/image-quality-correction-enhance-resolution-filter.cs
// Apply enhance resolution filter
imageInput.EnhanceResolution();
' Apply enhance resolution filter
imageInput.EnhanceResolution()
VB   C#
Beispielbild
Auflösungsfilter anwenden

Denoise Filter Beispiel

Entrauschungsfilter reduzieren den Grad des Rauschens oder unerwünschter Artefakte in einem Bild. Die Rauschunterdrückung ist für die OCR von entscheidender Bedeutung, da sie hilft, den Text von Hintergrundstörungen zu isolieren, was zu einer saubereren und genaueren Erkennung führt.

Um den Rauschfilter anzuwenden, verwenden Sie die Methode DeNoise. Die Standardmorphologie ist 2x2, und die Übergabe von 'true' an die Methode aktiviert eine 3x3-Morphologie. Wenn Sie die Option 3x3 wählen, wird ein stärkerer Entrauschungsalgorithmus angewendet.

:path=/static-assets/ocr/content-code-examples/how-to/image-quality-correction-denoise-filter.cs
// Apply denoise filter
imageInput.DeNoise();
' Apply denoise filter
imageInput.DeNoise()
VB   C#
Beispielbild
Angewandter Entrauschungsfilter

Beispiel eines Dilatationsfilters

Die Dilatation ist ein Filter, der die helleren Regionen vergrößert(im Vordergrund) in einem Bild. Es trägt dazu bei, den Text zu verdichten und zu verbessern, so dass er deutlicher hervortritt und von OCR-Software leichter interpretiert werden kann.

Um den Dilatationsfilter anzuwenden, verwenden Sie die Methode "Dilate". Ähnlich wie bei der Methode DeNoise ist die Standardmorphologie 2x2, und die Angabe von 'true' aktiviert die Option 3x3.

:path=/static-assets/ocr/content-code-examples/how-to/image-quality-correction-dilate-filter.cs
// Apply dilate filter
imageInput.Dilate();
' Apply dilate filter
imageInput.Dilate()
VB   C#
Beispielbild
Angewandter Dilterfilter

Beispiel für einen Erodierfilter

Bei der Erosion hingegen werden helle Bereiche in einem Bild verkleinert oder reduziert. Dies kann nützlich sein, um Zeichen und Linien zu verfeinern, insbesondere wenn sie dick oder leicht verzerrt sind.

Verwenden Sie die Methode Erode, um den Erodierfilter anzuwenden. Ähnlich wie bei den beiden vorangegangenen Methoden ist 2x2 die Morphologie und der Wert true aktiviert die Option 3x3.

:path=/static-assets/ocr/content-code-examples/how-to/image-quality-correction-erode-filter.cs
// Apply erode filter
imageInput.Erode();
' Apply erode filter
imageInput.Erode()
VB   C#
Beispielbild
Erode-Filter angewendet
Chaknith related to Beispiel für einen Erodierfilter

Chaknith Bin

Software-Ingenieur

Chaknith ist der Sherlock Holmes der Entwickler. Zum ersten Mal kam ihm der Gedanke, dass er eine Zukunft in der Softwareentwicklung haben könnte, als er zum Spaß an Code Challenges teilnahm. Sein Schwerpunkt liegt auf IronXL und IronBarcode, aber er ist stolz darauf, Kunden mit jedem Produkt zu helfen. Chaknith nutzt sein Wissen aus direkten Gesprächen mit Kunden, um die Produkte selbst weiter zu verbessern. Sein anekdotisches Feedback geht über Jira-Tickets hinaus und unterstützt die Produktentwicklung, die Dokumentation und das Marketing, um das Gesamterlebnis der Kunden zu verbessern.Wenn er nicht im Büro ist, lernt er über maschinelles Lernen, programmiert und wandert.