Allineamento delle immagini in Python | Correzione dell'inclinazione dell'immagine in Python

Se stai cercando un modo per allineare correttamente il contenuto inclinato nelle immagini, sei arrivato nel posto giusto. In questo articolo impareremo come eseguire la correzione dell’inclinazione nell’elaborazione delle immagini utilizzando Python. Ti guideremo attraverso le basi della correzione dell’inclinazione in Python. Tratteremo come rilevare l’inclinazione in un’immagine, come calcolare l’angolo di inclinazione e come raddrizzare le immagini a livello di codice utilizzando Python.

Questo articolo tratta i seguenti argomenti:

  1. Correzione distorsione immagine
  2. API di correzione inclinazione Python
  3. Rilevamento distorsione in Python
  4. Correzione automatica dell’inclinazione
  5. Riallineamento manuale delle immagini
  6. Correzione distorsione - Risorse gratuite

Correzione dell’inclinazione dell’immagine

La correzione dell’inclinazione nell’elaborazione delle immagini, nota anche come allineamento, è il processo di allineamento di un’immagine inclinata o inclinata per renderla visivamente più accattivante e più facile da lavorare. L’inclinazione può verificarsi a causa di vari motivi, come scansione errata, distorsione prospettica o disallineamento della fotocamera, come mostrato nell’immagine seguente:

Immagine distorta

L’immagine di origine.

API Python per raddrizzare le immagini

Aspose.OCR è una libreria OCR ampiamente utilizzata che consente di eseguire l’OCR su immagini scansionate, foto di smartphone, screenshot, aree di un’immagine e PDF scansionati in vari linguaggi di programmazione, incluso Python. Utilizzeremo l’API Aspose.OCR for Python tramite .NET per le correzioni di inclinazione.

Per favore scarica il pacchetto o installa l’API da PyPI utilizzando il seguente comando pip nella console:

pip install aspose-ocr-python-net

Rileva l’angolo di inclinazione in Python

Possiamo facilmente rilevare l’angolo di inclinazione di un testo in un’immagine seguendo i passaggi seguenti:

  1. Crea un’istanza della classe AsposeOCR.
  2. Inizializza un oggetto della classe OcrInput.
  3. Aggiungi l’immagine al batch di riconoscimento OcrInput.
  4. Chiama il metodo calcolaskew(). Prende il percorso dell’immagine come argomento.
  5. Mostra l’angolo di inclinazione calcolato.

Il seguente codice di esempio mostra come rilevare l’angolo di inclinazione di un’immagine in Python.

import aspose.ocr as ocr

# Crea un'istanza dell'API Aspose.OCR
api = ocr.AsposeOcr()

# Aggiungi l'immagine al batch di riconoscimento
img = ocr.OcrInput(ocr.InputType.SINGLE_IMAGE)
img.add("D:\\Files\\source.png")

# Rileva l'angolo di inclinazione
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°

Correzione automatica dell’inclinazione in Python

Possiamo abilitare la correzione automatica dell’inclinazione e salvare l’immagine corretta seguendo i passaggi seguenti:

  1. Crea un’istanza della classe AsposeOCR.
  2. Inizializza un oggetto della classe PreprocessingFilter.
  3. Aggiungi il filtro autoskew().
  4. Successivamente, aggiungi l’immagine al batch di riconoscimento e applica un filtro di elaborazione utilizzando la classe OcrInput.
  5. Infine, chiama il metodo ImageProcessing.save() per salvare l’immagine elaborata nella cartella del percorso specificato.

Il seguente codice di esempio mostra come applicare la correzione dell’inclinazione automatica con un filtro di preelaborazione in Python.

import aspose.ocr as ocr

# Crea un'istanza dell'API Aspose.OCR
api = ocr.AsposeOcr()

# Inizializza l'elaborazione delle immagini
filters = ocr.models.preprocessingfilters.PreprocessingFilter()
filters.add(filters.auto_skew())

# Aggiungi l'immagine al batch di riconoscimento e applica il filtro di elaborazione
img = ocr.OcrInput(ocr.InputType.SINGLE_IMAGE, filters)
img.add("D:\\Files\\source.png")

# Salva l'immagine elaborata nella cartella "risultati".
ocr.ImageProcessing.save(img, "D:\\Files\\Output\\")
Correzione automatica dell'inclinazione con filtro in Python

Correzione automatica dell’inclinazione con filtro in Python.

Allineamento manuale delle immagini in Python

Per la correzione manuale dell’inclinazione, è possibile definire manualmente l’angolo di inclinazione seguendo i passaggi seguenti:

  1. Crea un’istanza della classe AsposeOCR.
  2. Inizializza un oggetto della classe PreprocessingFilter.
  3. Aggiungi il filtro rotazione().
  4. Successivamente, aggiungi l’immagine al batch di riconoscimento e applica un filtro di elaborazione utilizzando la classe OcrInput.
  5. Infine, chiama il metodo ImageProcessing.save() per salvare l’immagine elaborata nella cartella del percorso specificato.

Il seguente codice di esempio mostra come raddrizzare manualmente le immagini in Python.

import aspose.ocr as ocr

# Crea un'istanza dell'API Aspose.OCR
api = ocr.AsposeOcr()

# Inizializza l'elaborazione delle immagini
filters = ocr.models.preprocessingfilters.PreprocessingFilter()
filters.add(ocr.models.preprocessingfilters.PreprocessingFilter.rotate(5.8))

# Aggiungi l'immagine al batch di riconoscimento e applica il filtro di elaborazione
img = ocr.OcrInput(ocr.InputType.SINGLE_IMAGE, filters)
img.add("D:\\Files\\source.png")

# Salva l'immagine elaborata nella cartella "risultati".
ocr.ImageProcessing.save(img, "D:\\Files\\Output\\")

Ottieni una licenza gratuita

Puoi ottenere una licenza temporanea gratuita per provare Aspose.OCR for Python tramite .NET senza limitazioni di valutazione.

Correzione dell’inclinazione: risorse gratuite

Oltre a implementare la correzione dell’inclinazione dell’immagine in Python, puoi esplorare ulteriormente l’API OCR Python utilizzando le seguenti risorse:

Conclusione

In questo articolo abbiamo imparato come allineare correttamente le immagini inclinate utilizzando la correzione dell’inclinazione delle immagini in Python. Abbiamo visto come raddrizzare le immagini utilizzando il metodo automatico e impostando manualmente l’angolo di rotazione. Sfruttando Aspose.OCR for Python tramite .NET, puoi facilmente incorporare tale funzionalità nelle tue applicazioni Python. In caso di ambiguità, non esitate a contattarci sul nostro forum di supporto gratuito.

Guarda anche