Strip Exchange: Manipolazione immagini con Jython – Parte 3

In questo video vedremo come scrivere una funzione in Jython per ottenere l’effetto Strip Exchange, ovvero scambiare delle colonne arbitrarie di pixel con quelle a loro adiacenti considerando la larghezza della foto, come vediamo nelle figure di seguito .

Strip Exchange con Jython

Strip Exchange

Dichiariamo innanzi tutto l’immagine da modificare tramite la funzione pickAFile(), scegliamo poi la larghezza delle colonne che andremo ad utilizzare nella funzione salvando il numero intero in una variabile.
Per ottenere questo effetto utilizzeremo due funzioni diverse, andiamo a definire la principale, quella che poi richiameremo nella command area.
verticalStrips() che ammette due parametri, l’immagine che vogliamo modificare e larghezza delle colonne che abbiamo dichiarato in precedenza.
Usiamo un poi un ciclo for che prende i pixel lungo l’asse orizzontale dell’immagine da 0 fino all’intera larghezza meno il resto della divisione tra l’intera larghezza e due volte la larghezza della colonna, ed uno step del doppio delle colonne.
Richiamiamo poi una funzione che creeremo tra poco e chiameremo stripExchange(), mostriamo l’immagine con show() e volendo la possiamo anche salvare.

Ora definiamo stripExchange() che ammette come parametri l’immagine, indice delle colonne e la larghezza delle colonne.
Poi eseguiamo due cicli for il primo lungo l’asse delle x che va da l’indice della colonna all’indice della colonna più la larghezza della colonna, il secondo annidato nel primo lungo l’asse delle y che parte da zero fino ad arrivare all’intera altezza dell’immagine. A questo punto definiamo i pixel di provenienza e quelli di arrivo ne preleviamo i colori ad entrambi ed infine possiamo scambiarli tramite la funzione setColor() ottenendo così l’effetto voluto come potere vedere nella figura precedente.

Per qualsiasi dubbio, curiosità o suggerimento potete scrivere un commento di seguito oppure fatevi un giro sugli altri articoli scritti per Jython Environment for Students dove troverete anche altre guide sulla manipolazione delle immagini.

Think BIG!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.