PDA

View Full Version : Utilizzo di Matlab??


giack83
05-12-2005, 10:47
Salve a tutti,


utilizzo non da molto il programma Matlab, e sto formando varie istruzioni di comandi per photoshop per elaborare una immagine....

avrei la necessita di creare in codice di matlab il FILTRO MEDIANO, ci sarebbe qualcuno che mi puo indicare come si scrive quyelle righe di codice perpiacere?

oppure indicare un forum specializzato in questo?

Se volete ho anche un file in doc che spieghi cos'è sto filtro....

wisher
05-12-2005, 16:35
Salve a tutti,


utilizzo non da molto il programma Matlab, e sto formando varie istruzioni di comandi per photoshop per elaborare una immagine....

avrei la necessita di creare in codice di matlab il FILTRO MEDIANO, ci sarebbe qualcuno che mi puo indicare come si scrive quyelle righe di codice perpiacere?

oppure indicare un forum specializzato in questo?

Se volete ho anche un file in doc che spieghi cos'è sto filtro....
premetto ke non conosco matlab, però la storia del filtro mediano mi incuriosisce, potresti postare il documento?

giack83
06-12-2005, 09:39
Certo come no.... :)

cmq sai dove posso trarre informazioni?

gokan
06-12-2005, 17:25
Ho studiato queste cose giusto qualche mesetto fa.
Vado al codice

function FiltMediano(IM)

%IM=rgb2gray(IM);
figure;imshow(IM);
IM= double(IM);
[x,y]=size(IM);
OUT=zeros(x,y);

for i=2:x-1
for j=2:y-1
vect=IM(i-1:i+1, j-1:j+1);
vect=sort(vect);
OUT(i,j)=vect(5);
end;
end;
OUT=uint8(OUT);
figure;imshow(OUT);


E' una versione non molto potente del filtro mediano, però rende l'idea di come funzioni. Gli dai in input IM una immagine con rumore di tipo sale e pepe(io ho sempre lavorato con immagini in scala di grigio), ed la funzione ti visualizza l'originale e l'immagine dopo l'applicazione del filtro.

Ti faccio uno screenshoot, come vedi non funziona al 100%, ma si può migliorare. Se hai problemi con il codice fammi sapere.Adesso non ho il tempo di commentare :)

http://img483.imageshack.us/img483/2389/mediano8cz.jpg

giack83
07-12-2005, 07:30
Grazie mille sei stato a dir poco gentilissimo :D

oggi se ho tempo lo provo subito....

sai xche dovrei creare diciamo il pezettino di codice (per immagini scala di grigio), ed inserirlo nella funzione main che ci è stata data... nella funzione main i parametri non possono essere cambiati quindi il codice sul filtro deve appogiarsi ad essa.

Susa l'ignorantezza in materia, ma il codice che mi hai scritto tu va gia bene?
Vuoi che ti posti in allegato il main?

Cmq grazie ancora.

gokan
07-12-2005, 08:43
Si, come ti dicevo è un filtro abbastanza rudimentale, ma come puoi vedere dall'immagine, un pò elimina il rumore sale e pepe.
La figura No.1 con rumore, dopo l'applicazione del filtro diventa la figura No.2.

Se tuoi essere più preciso, nel main chiami la funzione in questo modo:
ImmFiltrata=FiltMediano(ImmConRumore)

Basta che modifichi leggermente la funzione in questo modo:
function OUT=FiltMediano(IM)

Poi non so quale sia il prototipo della funzione che vuoi realizzare, ma in linea di massima non dovrebbe discostarsi troppo.

giack83
08-12-2005, 11:37
ah ok grazie mille....

cmq ti allego il main che devo mantenere io.
Attraverso esso devo scrivere l'isrtuzione per creare la tabella richiamabile:

devo scrivere infine l'istruzione che mi creii il pulsante nella tabella. E fino li l'ho fatto!!

Per fare il filtro che mi hai detto, come devo fare?
xche io ho creato un nuovo file.m e gli ho inserito il codice che mi avevi dato.
Non riesco a far si che quando richiamo la tabella e clicco il pulsante mi compare l'immagine filtrata......

gokan
08-12-2005, 22:58
Ciao, purtroppo sullle GUI in matlab non ci ho mai lavorato, quindi non so aiutarti..
Ho sempre fatto tutto da riga di comando. Prova a guardare sull'help di matlab oppure fai una ricerchina sul web :)

giack83
09-12-2005, 11:30
Ah ok cmq grazie anocra mille per l'aiuto che mi hai dato..... :D