Entzerrung von Bildern in Python | Korrektur der Bildverzerrung in Python

Wenn Sie nach einer Möglichkeit suchen, den geneigten Inhalt in Bildern richtig auszurichten, dann sind Sie hier richtig. In diesem Artikel erfahren Sie, wie Sie mit Python eine Schräglaufkorrektur bei der Bildverarbeitung durchführen. Wir führen Sie durch die Grundlagen der Skew-Korrektur in Python. Wir behandeln, wie Sie Schräglagen in einem Bild erkennen, wie Sie den Schräglagenwinkel berechnen und wie Sie Ihre Bilder programmgesteuert mit Python korrigieren.

Dieser Artikel behandelt die folgenden Themen:

  1. Bildverzerrungskorrektur
  2. Python Skew Correction API
  3. Skew-Erkennung in Python
  4. Automatische Skew-Korrektur
  5. Bilder manuell entzerren
  6. Skew-Korrektur – Kostenlose Ressourcen

Korrektur der Bildverzerrung

Bei der Schräglagenkorrektur in der Bildverarbeitung, auch Entzerren genannt, wird ein Bild ausgerichtet, das geneigt oder schief ist, damit es optisch ansprechender und einfacher zu bearbeiten ist. Eine Schräglage kann aus verschiedenen Gründen auftreten, z. B. durch unsachgemäßes Scannen, perspektivische Verzerrung oder eine Fehlausrichtung der Kamera, wie im folgenden Bild dargestellt:

Verzerrtes Bild

Das Quellbild.

Python-API zur Entzerrung von Bildern

Aspose.OCR ist eine weit verbreitete OCR-Bibliothek, die die Durchführung von OCR für gescannte Bilder, Smartphone-Fotos, Screenshots, Bildbereiche und gescannte PDFs in verschiedenen Programmiersprachen, einschließlich Python, ermöglicht. Wir werden die API Aspose.OCR for Python über .NET für Schräglagenkorrekturen verwenden.

Bitte laden Sie das Paket herunter oder installieren Sie die API von PyPI, indem Sie den folgenden Pip-Befehl in der Konsole verwenden:

pip install aspose-ocr-python-net

Skew-Winkel in Python erkennen

Wir können den Schrägwinkel eines Textes in einem Bild leicht erkennen, indem wir die folgenden Schritte ausführen:

  1. Erstellen Sie eine Instanz der AsposeOCR Klasse.
  2. Initialisieren Sie ein Objekt der OcrInput Klasse.
  3. Fügen Sie das Bild dem OcrInput-Erkennungsstapel hinzu.
  4. Rufen Sie die Methode „calcuteskew()“ auf. Als Argument wird der Bildpfad verwendet.
  5. Zeigen Sie den berechneten Schrägungswinkel an.

Der folgende Beispielcode zeigt, wie man den Schrägwinkel eines Bildes in Python erkennt.

import aspose.ocr as ocr

# Instanziieren Sie die Aspose.OCR-API
api = ocr.AsposeOcr()

# Bild zum Erkennungsstapel hinzufügen
img = ocr.OcrInput(ocr.InputType.SINGLE_IMAGE)
img.add("D:\\Files\\source.png")

# Schrägwinkel erkennen
angles = api.calculate_skew(img);
for angle in angles:
    print("File: " + angle.source)
    print(f"Skew angle: {angle.angle:.1f}\xb0")
File: D:\Files\source.png
Skew angle: 5.8°

Automatische Skew-Korrektur in Python

Wir können die automatische Schräglagenkorrektur aktivieren und das korrigierte Bild speichern, indem wir die folgenden Schritte ausführen:

  1. Erstellen Sie eine Instanz der AsposeOCR Klasse.
  2. Initialisieren Sie ein Objekt der PreprocessingFilter Klasse.
  3. Fügen Sie den autoskew()-Filter hinzu.
  4. Fügen Sie anschließend das Bild zum Erkennungsstapel hinzu und wenden Sie mithilfe der OcrInput Klasse einen Verarbeitungsfilter an.
  5. Rufen Sie abschließend die Methode ImageProcessing.save() auf, um das verarbeitete Bild im angegebenen Pfadordner zu speichern.

Der folgende Beispielcode zeigt, wie Sie die automatische Schiefekorrektur mit einem Vorverarbeitungsfilter in Python anwenden.

import aspose.ocr as ocr

# Instanziieren Sie die Aspose.OCR-API
api = ocr.AsposeOcr()

# Bildverarbeitung initialisieren
filters = ocr.models.preprocessingfilters.PreprocessingFilter()
filters.add(filters.auto_skew())

# Fügen Sie dem Erkennungsstapel ein Bild hinzu und wenden Sie einen Verarbeitungsfilter an
img = ocr.OcrInput(ocr.InputType.SINGLE_IMAGE, filters)
img.add("D:\\Files\\source.png")

# Speichern Sie das verarbeitete Bild im Ordner „result“.
ocr.ImageProcessing.save(img, "D:\\Files\\Output\\")
Automatische Skew-Korrektur mit Filter in Python

Automatische Skew-Korrektur mit Filter in Python.

Manuelles Entzerren von Bildern in Python

Für die manuelle Schräglaufkorrektur können wir den Schräglaufwinkel manuell definieren, indem wir die folgenden Schritte ausführen:

  1. Erstellen Sie eine Instanz der AsposeOCR Klasse.
  2. Initialisieren Sie ein Objekt der PreprocessingFilter Klasse.
  3. Fügen Sie den Rotation()-Filter hinzu.
  4. Fügen Sie anschließend das Bild zum Erkennungsstapel hinzu und wenden Sie mithilfe der OcrInput Klasse einen Verarbeitungsfilter an.
  5. Rufen Sie abschließend die Methode ImageProcessing.save() auf, um das verarbeitete Bild im angegebenen Pfadordner zu speichern.

Der folgende Beispielcode zeigt, wie Bilder manuell in Python entzerrt werden.

import aspose.ocr as ocr

# Instanziieren Sie die Aspose.OCR-API
api = ocr.AsposeOcr()

# Bildverarbeitung initialisieren
filters = ocr.models.preprocessingfilters.PreprocessingFilter()
filters.add(ocr.models.preprocessingfilters.PreprocessingFilter.rotate(5.8))

# Fügen Sie dem Erkennungsstapel ein Bild hinzu und wenden Sie einen Verarbeitungsfilter an
img = ocr.OcrInput(ocr.InputType.SINGLE_IMAGE, filters)
img.add("D:\\Files\\source.png")

# Speichern Sie das verarbeitete Bild im Ordner „result“.
ocr.ImageProcessing.save(img, "D:\\Files\\Output\\")

Holen Sie sich eine kostenlose Lizenz

Sie können eine kostenlose temporäre Lizenz erhalten, um Aspose.OCR for Python über .NET ohne Evaluierungseinschränkungen zu testen.

Skew-Korrektur – Kostenlose Ressourcen

Neben der Implementierung der Korrektur der Bildverzerrung in Python können Sie die Python-OCR-API mithilfe der folgenden Ressourcen weiter erkunden:

Abschluss

In diesem Artikel haben wir gelernt, wie man die geneigten Bilder mithilfe der Bildschräglaufkorrektur in Python richtig ausrichtet. Wir haben gesehen, wie man Bilder mit der automatischen Methode und durch manuelles Einstellen des Drehwinkels entzerrt. Durch die Nutzung von Aspose.OCR for Python über .NET können Sie eine solche Funktion problemlos in Ihre Python-Anwendungen einbetten. Bei Unklarheiten können Sie uns gerne über unser kostenloses Support-Forum kontaktieren.

Siehe auch