[ Quarkosa @ 02.11.2008. 21:43 ] @
Ljudi molim vas za pomoc!!!! Treba da radim seminarski rad iz digitalne obrade signala ,cetvrta god ETF-a,ali imam mali problem sa matlabom jer ga nisam radio prakticno od prve godine! Postavicu tekst zadatka kao i resenje,ali mi treba tumacenje matlab koda tj samo tumacenje FOR petlje. ZAD1: Kreirati MATLAB funkciju koja kreira α‐trimmed mean filter. Ovaj filtar je specijalni slučaj L‐filtara kod koga se vrši sortiranje vrijednosti u L1xL2 lokalnom susjedstvu tačke i kao izlaz iz filtra uzima srednja vrijednost L srednjih piksela. Podrazumjevano je L1, L2 i L neparno. Kod je sledeci : Code: function [ OUT ] = atmf( IN,L,L1,L2 ) %ATMF Alpha-Trimmed Mean Filter % [OUT]=atmf(IN,L,L1,L2) % Funkcija vraca isfiltriranu matricu. Filtriranje je izvrseno % prozorom dimenzije L1xL2 sa odabranih L sredisnjih % vrijednosti. OUT=zeros(size(IN,1)-2*floor(L1/2),size(IN,2)-2*floor(L2/2)); if rem(L1,2)==0 | rem (L2,2)==0 | rem(L,2)==0 error('Koeficijenti L,L1 i L2 ne smiju biti parni.'); end if L>L1*L2 | L<1 error('Koeficijent L mora bit u granicama 1:L1*L2.'); end ----------------------------------------------------- for y=1+floor(L1/2):size(IN,1)-floor(L1/2) for x=1+floor(L2/2):size(IN,2)-floor(L2/2) % Za svaki piksel nove slike counter=1; for v=y-floor(L1/2):y+floor(L1/2) for u=x-floor(L2/2):x+floor(L2/2) V(counter)=IN(v,u); counter=counter+1; ----------------------------------------------------- end end V=sort(V); OUT(y-floor(L1/2),x-floor(L2/2))= mean(V((1:L)+floor(L1*L2-L)/2)); end end Indexes=(1:L)+floor(L1*L2-L)/2 MOLIM VAS JAKO JE HITNO !!! HVALA [Ovu poruku je menjao Aleksandar Ružičić dana 03.11.2008. u 01:28 GMT+1] |