CodeGym /Corsi /Python SELF IT /Lavorare con i colori e correggere le immagini

Lavorare con i colori e correggere le immagini

Python SELF IT
Livello 45 , Lezione 4
Disponibile

1. Cambiare modalità di colore

Un'immagine può essere rappresentata in diverse modalità di colore, come:

  • RGB: Modalità colore standard.
  • L: Tonalità di grigio.
  • CMYK: Utilizzato per la stampa.
  • RGBA: RGB con canale alfa (per trasparenza).

Per convertire un'immagine in una modalità di colore diversa, puoi usare il metodo convert().

Conversione in tonalità di grigio

Per rendere l'immagine in bianco e nero, usa la modalità di colore L:


# Conversione in tonalità di grigio
gray_image = image.convert("L")
gray_image.save("gray_example.jpg")

Questo codice converte l'immagine in bianco e nero e la salva nel file gray_example.jpg. È utile se vuoi creare uno stile monocromatico o preparare un'immagine per l'analisi, dove contano solo i livelli di luminosità.

Conversione in modalità CMYK

CMYK è spesso usato nella stampa. Convertire un'immagine in questa modalità può essere utile se l'immagine è destinata alla stampa.


# Conversione in CMYK
cmyk_image = image.convert("CMYK")
cmyk_image.save("cmyk_example.jpg")

2. Applicare filtri all'immagine

Pillow offre diversi filtri integrati che puoi usare per creare vari effetti. Questi filtri si trovano nel modulo ImageFilter.

Applicazione di filtri per sfocatura, contorni e nitidezza


from PIL import ImageFilter

# Applicazione del filtro sfocatura
blurred_image = image.filter(ImageFilter.BLUR)
blurred_image.save("blurred_example.jpg")

# Applicazione del filtro contorni
contour_image = image.filter(ImageFilter.CONTOUR)
contour_image.save("contour_example.jpg")

# Applicazione del filtro nitidezza
sharpened_image = image.filter(ImageFilter.SHARPEN)
sharpened_image.save("sharpened_example.jpg")

Qui applichiamo tre filtri diversi:

  • BLUR: Sfoca l'immagine, utile per creare effetti morbidi.
  • CONTOUR: Evidenzia i contorni degli oggetti nell'immagine.
  • SHARPEN: Aumenta la nitidezza, rendendo l'immagine più definita.

Altri filtri

Alcuni altri filtri utili in Pillow:

  • DETAIL: Evidenzia i dettagli.
  • EDGE_ENHANCE: Migliora i bordi.
  • SMOOTH: Ammorbidisce l'immagine.

# Applicare il filtro per migliorare i bordi
edge_image = image.filter(ImageFilter.EDGE_ENHANCE)
edge_image.save("edge_enhance_example.jpg")

3. Regolare luminosità, contrasto, nitidezza e saturazione

Il pacchetto ImageEnhance in Pillow consente di modificare facilmente luminosità, contrasto, nitidezza e saturazione dell'immagine.

Regolazione della luminosità

Per modificare la luminosità, usa la classe ImageEnhance.Brightness. Il fattore di luminosità può essere qualsiasi numero: 1.0 — luminosità originale, meno di 1.0 — oscura, più di 1.0 — aumenta la luminosità.


from PIL import ImageEnhance

# Modifica della luminosità
enhancer = ImageEnhance.Brightness(image)
brighter_image = enhancer.enhance(1.5)  # Aumento luminosità del 50%
brighter_image.save("brighter_example.jpg")

Regolazione del contrasto

Il contrasto rende le parti chiare più chiare e quelle scure più scure. Per regolare il contrasto, usa ImageEnhance.Contrast.


# Modifica del contrasto
enhancer = ImageEnhance.Contrast(image)
higher_contrast_image = enhancer.enhance(1.5)  # Aumento del contrasto del 50%
higher_contrast_image.save("higher_contrast_example.jpg")

Regolazione della nitidezza

La nitidezza definisce quanto siano netti i bordi degli oggetti nell'immagine. Per regolare la nitidezza, usa ImageEnhance.Sharpness.


# Modifica della nitidezza
enhancer = ImageEnhance.Sharpness(image)
sharper_image = enhancer.enhance(2.0)  # Aumento nitidezza 2 volte
sharper_image.save("sharper_example.jpg")

Il valore 1.0 mantiene la nitidezza originale, meno di 1.0 rende l'immagine più sfocata, più di 1.0 — più nitida.

Regolazione della saturazione

La saturazione dei colori rende i colori più o meno intensi. Per modificare la saturazione, usa ImageEnhance.Color.


# Modifica della saturazione
enhancer = ImageEnhance.Color(image)
more_vibrant_image = enhancer.enhance(1.5)  # Aumento saturazione del 50%
more_vibrant_image.save("more_vibrant_example.jpg")

4. Confronto dei metodi di correzione immagine

Metodo Descrizione Applicazione
convert("L") Convertire un'immagine in modalità bianco e nero Stile monocromatico, analisi delle tonalità
ImageFilter Applicare filtri per sfocatura, nitidezza, ecc. Effetti visivi, evidenziare oggetti
ImageEnhance.Brightness Regolazione della luminosità Illuminare o oscurare
ImageEnhance.Contrast Modifica del contrasto Miglioramento visibilità dettagli
ImageEnhance.Sharpness Modifica della nitidezza Rendere i bordi più nitidi
ImageEnhance.Color Regolazione saturazione colori Creare immagini vivaci

5. Esempi

Esempio di elaborazione completa di un'immagine

Uniamo tutto quanto detto sopra e creiamo un codice che esegue diverse fasi di correzione colore, applicando filtri e modificando luminosità, contrasto e saturazione.


from PIL import Image, ImageEnhance, ImageFilter

# Caricamento immagine
image = Image.open("example.jpg")

# Conversione in modalità bianco e nero
gray_image = image.convert("L")
gray_image.save("gray_example.jpg")

# Applicazione del filtro nitidezza
sharpened_image = gray_image.filter(ImageFilter.SHARPEN)
sharpened_image.save("sharpened_gray_example.jpg")

# Aumento della luminosità
enhancer = ImageEnhance.Brightness(sharpened_image)
brighter_image = enhancer.enhance(1.3)  # Più chiaro del 30%
brighter_image.save("brighter_gray_example.jpg")

# Aumento del contrasto
enhancer = ImageEnhance.Contrast(brighter_image)
higher_contrast_image = enhancer.enhance(1.5)  # Più contrastato del 50%
higher_contrast_image.save("final_example.jpg")

Applicazioni pratiche della correzione colore

  • Modifica foto: Regolare luminosità e contrasto può migliorare la visibilità dei dettagli in una foto, e i filtri possono rendere l'immagine più espressiva.
  • Preparazione delle immagini per l'analisi: Convertire in bianco e nero, aumentare nitidezza e contrasto rendono l'immagine più chiara e adatta all'analisi.
  • Stilizzazione immagini: Cambiare saturazione e applicare filtri consente di creare stili unici ed effetti per progetti di design.
1
Sondaggio/quiz
Lavorare con le immagini utilizzando Pillow, livello 45, lezione 4
Non disponibile
Lavorare con le immagini utilizzando Pillow
Lavorare con le immagini utilizzando Pillow
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION