I riassunti , gli appunti i testi contenuti nel nostro sito sono messi a disposizione gratuitamente con finalità illustrative didattiche, scientifiche, a carattere sociale, civile e culturale a tutti i possibili interessati secondo il concetto del fair use e con l' obiettivo del rispetto della direttiva europea 2001/29/CE e dell' art. 70 della legge 633/1941 sul diritto d'autore
Le informazioni di medicina e salute contenute nel sito sono di natura generale ed a scopo puramente divulgativo e per questo motivo non possono sostituire in alcun caso il consiglio di un medico (ovvero un soggetto abilitato legalmente alla professione).
DISCRETIZZAZIONE E TRATTAMENTO DELLE IMMAGINI
INTRODUZIONE
In informatica, con il termine pixel si intende ciascuno degli elementi puntiformi che compongono un’immagine.
Solitamente nelle immagini che vediamo tutti i giorni sul computer i pixel sono di dimensione così ridotta da risultare indistinguibili ad occhio nudo.
L’ occhio umano vede ciò che gli sta intorno in modo “continuo”: le immagini che percepisce non sono cioè costituite da quei quadratini.
Discretizzare un’immagine significa perciò tradurla in un linguaggio digitale. La discretizzazione dell'immagine è migliore quanto più i pixel sono piccoli e di conseguenza più numerosi.
Infatti sentiamo dire spesso che la qualità di una macchina fotografica dipende dal suo numero di pixel. Dipende cioè da quanto sono discrete le immagini che riesce a catturare.
Maggiore è il numero di pixel, maggiore è la qualità dell’immagine:
Dall’ obiettivo fotografico, al computer, alla stampante o alla mail, la fotografia compie un lungo viaggio: per trasferire i dati in modo corretto il computer ha bisogno di un linguaggio che gli permette di identificare ogni singolo pixel e il suo colore.
La prima parte di questo linguaggio consiste nell'identificare la posizione che ogni singolo pixel occupa all’interno della fotografia:
Per far questo il computer si serve delle coordinate cartesiane.
Una volta fatto questo ad ogni pixel è assegnato un colore. Per le immagini in scala di grigi (quelle che comunemente vengono chiamate ‘in bianco e nero’), ogni quadratino è caratterizzato da un numero (in genere compreso tra 0 e 225) che indica l’intensità del grigio: se allo 0 corrisponde il bianco e al 225 il nero, maggiore sarà il numero, più scuro sarà il grigio del pixel.
Per le immagini a colori si usa il sistema RGB (Red, Green, Blu). Ogni celletta è caratterizzata da tre numeri: il primo indica l’intensità del rosso, il secondo del verde e il terzo del blu.
Combinando questi tra colori si ottengono tutti gli altri.
TRATTAMENTO DELLE IMMAGINI
Per modificare le immagini operando sui valori dei singoli pixel si possono utilizzare diversi softwares specifici. Prima però, ecco un esempio dell'acquisizione di un immagine da parte del computer, fatta con excel.
SIMULAZIONE CON EXCEL
Iniziamo con un'immagine in bianco e nero:
Per realizzare la lettera 'A', ad ogni pixel (ovvero ogni cella del foglio elettronico) è stato attribuito il valore 1 (corrispondente al bianco) o 0 (corrispondente al nero). Tramite la funzione "formattazione condizionale" excel ha poi tradotto i valori nei rispettivi colori.
Si nota che se la dimensione dei pixel è elevata e il loro numero molto ridotto, la stessa figura di partenza risulta quasi irriconoscibile:
Aumentando il numero di pixel invece la qualità dell'immagine migliora.
Ecco ora un esempio della stessa figura, ma in scala di grigi:
Ogni cella ha un valore compreso tra 0 (nero) e 12 (bianco). Più è alto questo valore e più è chiaro il grigio.
Per finire ecco un esempio di immagine a tre colori: rosso, verde e blu (R.G.B.):
QT OCTAVE
Qtoctave è un software per l'analisi numerica, adatto anche all'acquisizione, elaborazione e modifica di immagini.
Permette di operare sull'immagine, acquisita come una matrice, zoomandone una parte, modificando i valori dei singoli pixel o di un gruppo di questi (che costituiscono una sottomatrice di quella data).
Ecco alcuni esempi.
Acquisita un'immagine, è possibile, tramite la funzione "whos" sapere le dimensioni della matrice associata in modo da poterne selezionare una parte e operare su questa.
Creando successivamente una seconda matrice che abbia come elementi, ad esempio, i primi 50 elementi di I (matrice associata all'immagine), si ottiene un'immagine più piccola che risulta essere lo zoom di quella originale:
>>> J=I(1:50,1:50);
immagine corrispondente
alla matrice J
Nella descrizione dei prossimi lavori non ci concentreremo sui comandi di input da inserire in Octave, limitandoci a descrivere il procedimento, lo scopo e il risultato delle varie operazioni. In coda è possibile trovare i link da cui scaricare tali comandi in modo integrale (occorre la connessione a internet).
LAVORO 1: modifica del valore di pixel in un'immagine a scala di grigi.
Acquisita un'immagine associata ad una matrice I, si procede come appena spiegato, selezionandone una parte:
A questo punto ad ogni pixel della parte selezionata è stato attribuito lo stesso valore, corrispondente a 255 (bianco). Il risultato è una matrice composta unicamente da valori pari a 255, corrispondente a un'immagine completamente bianca.
Link completo dei comandi
LAVORO 2: modifica del valori di un pixel in un'immagine RGB.
Procediamo in modo analogo al precedente modificando però il valore di un singolo pixel. È da tener presente che in un'immagine RGB ad ogni pixel corrispondono tre valori numerici differenti.
Acquisizione dell'immagine e selezione di una sottomatrice J composta dai primi 10 elementi di quella originale:
Ora vengono attribuiti all'elemento J(2,2), tre valori corrispondenti rispettivamente a rosso, verde e blu.
>>> J(2,2,:)=[245 235 39];
Link completo dei comandi
LAVORO 3: aggiunta di costante ad un'immagine a scala di grigi
Questa volta, al posto di attribuire ad ogni pixel selezionato un valore specifico, viene aggiunta una stessa costante al valore di ogni elemento dell'immagine.
Acquisizione dell'immagine I:
Grazie al ciclo 'for', ci si sposta in ciascuna delle due dimensioni della matrice associata all'immagine, modificando in questo modo il valore di tutti i pixel. Si crea così una nuova matrice J i cui elementi corrispondono a quelli della matrice di partenza, aumentati di un certo numero (in questo caso 50).
>>> c=50;
>>> for i=1:size(J,1)
>>> for j=1:size(J,2)
>>> J(i,j) = I(i,j)+c;
Ovviamente, se il valore della costante fosse stato negativo, l'immagine sarebbe risultata più scura.
Link completo dei comandi
LAVORO 4: aggiunta di costante ad un'immagine RGB
Si lavora in modo simile a quello precedente. In un'immagine RGB, se ad ogni pixel si somma una costante solo al valore corrispondente al colore rosso, l'immagine non risulterà semplicemente schiarita, ma l'effetto sarà quello di un'immagine più rossa di quella originale.
Una volta acquisita l'immagine si inseriscono di nuovo i comandi del ciclo 'for':
Ed ecco il risultato:
Link completo dei comandi
LAVORO 5: aggiunta di rumore ad un'immagine.
Quando si modifica il colore di un pixel o di una porzione di immagine si dice che è stato aggiunto un rumore. Questo 'lavoro 5' riprende i passaggi del 'lavoro2': verrà modificato il valore di un singolo pixel e successivamente di una porzione di immagine.
>>> J(2,2,:)=[100 100 100];
Successivamente, utilizzando il ciclo 'for', si lavora su una parte della porzione di immagine modificandone tutti i valori:
>>> for i=2:38
>>> for j=2:21
>>> J(i,j,:)=[100 100 100];
Tutti i file scaricabili da questo documento si trovano al seguente indirizzo:
https://sites.google.com/site/laboratorio4clauree/
Lavoro realizzato da (in ordine alfabetico):
Baron Giulia
Bernini Rachele
Valle Nicolò
Fonte: http://www-dimat.unipv.it/luciadc/PLS_2011/EPILOGO_2011.docx
Sito web da visitare: http://www-dimat.unipv.it
Autore del testo: indicato nel documento di origine
Il testo è di proprietà dei rispettivi autori che ringraziamo per l'opportunità che ci danno di far conoscere gratuitamente i loro testi per finalità illustrative e didattiche. Se siete gli autori del testo e siete interessati a richiedere la rimozione del testo o l'inserimento di altre informazioni inviateci un e-mail dopo le opportune verifiche soddisferemo la vostra richiesta nel più breve tempo possibile.
I riassunti , gli appunti i testi contenuti nel nostro sito sono messi a disposizione gratuitamente con finalità illustrative didattiche, scientifiche, a carattere sociale, civile e culturale a tutti i possibili interessati secondo il concetto del fair use e con l' obiettivo del rispetto della direttiva europea 2001/29/CE e dell' art. 70 della legge 633/1941 sul diritto d'autore
Le informazioni di medicina e salute contenute nel sito sono di natura generale ed a scopo puramente divulgativo e per questo motivo non possono sostituire in alcun caso il consiglio di un medico (ovvero un soggetto abilitato legalmente alla professione).
"Ciò che sappiamo è una goccia, ciò che ignoriamo un oceano!" Isaac Newton. Essendo impossibile tenere a mente l'enorme quantità di informazioni, l'importante è sapere dove ritrovare l'informazione quando questa serve. U. Eco
www.riassuntini.com dove ritrovare l'informazione quando questa serve