Immagini in Python

Come trasformare ed elaborare le immagini digitali

0

Durante l’anno scolastico 2024/2025, la nostra classe 5C Informatica ha intrapreso, nelle ore di autonomia, un progetto volto a esplorare le potenzialità del linguaggio Python nell’elaborazione delle immagini digitali.

Cos’è Python?

Python è un linguaggio di programmazione semplice, accessibile e di alto livello. Grazie alla sua sintassi chiara e intuitiva è ideale per chi inizia a programmare, ma allo stesso tempo è abbastanza potente da supportare progetti complessi. Esistono numerose librerie, come Pillow, OpenCV e Matplotlib, che facilitano lo sviluppo di applicazioni per la gestione e la modifica delle immagini.

Il nostro percorso

Il progetto è iniziato con una parte introduttiva, utile a comprendere cosa sia un’immagine digitale: una rappresentazione composta da pixel, ovvero piccoli punti disposti in una griglia, simile a un mosaico. Ogni pixel ha un colore definito da una combinazione di valori RGB (Rosso, Verde, Blu), ad esempio:

  • (255, 0, 0) = rosso
  • (0, 255, 0) = verde
  • (0, 0, 255) = blu
  • (255, 255, 255) = bianco
  • (0, 0, 0) = nero

2025 - immagini in python 1

 

Le elaborazioni svolte

Successivamente, abbiamo iniziato a mettere in pratica le nozioni apprese, attraverso varie elaborazioni di immagini:

2025 - immagini in python 2

Abbiamo eseguito operazioni come:

  • Specchiatura
  • Sottrazione tra immagini
  • Creazione del negativo
  • Estrazione dei bordi
  • Scala di grigi
  • Sfocatura
  • Creazione dell’istogramma di luminosità

Esempi pratici

Immagine originale:
2025 - immagini in python 3

Specchiatura:
Nella prima immagine elaborata, è stato applicato un filtro di specchiatura. Questo effetto può essere orizzontale, verticale oppure combinato per ottenere una specchiatura completa.

Negativo:
Nel secondo esempio, invece, abbiamo realizzato una versione in negativo dell’immagine. Questo significa che i colori e le tonalità vengono invertiti: nelle immagini in bianco e nero, le zone chiare diventano scure e viceversa.

2025 - immagini in python 4

Sfocatura e istogramma:
Nel terzo esempio l’immagine è stata sfocata usando un filtro che modifica i pixel in base ai valori dei pixel vicini. Maggiore è il valore della matrice di sfocatura, più evidente sarà l’effetto.
L’immagine seguente mostra invece l’istogramma della luminosità, strumento utile per analizzare la distribuzione dei toni chiari e scuri. Il picco al centro indica una predominanza di pixel con luminosità media, mentre i bordi indicano i pixel più scuri e più chiari.

2025 - immagini in python 5

Estrazione dei bordi:
Infine abbiamo applicato una tecnica per l’estrazione dei bordi: il programma confronta ogni pixel con quelli adiacenti per identificare bruschi cambiamenti di colore. Se la differenza supera una certa soglia, viene individuato un bordo. Il risultato è un’immagine in bianco e nero dove i contorni sono evidenziati.

2025 - immagini in python 6

 

Conclusioni

Queste sono solo alcune delle molte possibilità offerte da Python nel campo dell’elaborazione delle immagini. Le applicazioni sono numerose e spaziano dal riconoscimento facciale all’arte generativa, dalla diagnostica medica all’analisi ambientale.

Il progetto ha coinvolto tutta la classe e ci ha permesso di approfondire le nostre competenze, combinando programmazione e creatività. Lavorare con le immagini digitali ci ha aperto nuove prospettive, rendendo l’apprendimento coinvolgente e stimolante.

2025 - immagini in python 7

Boninsegna Cristian, Coletti Ilaria, Righi Simone

 

Circolari, notizie, eventi correlati