[ 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]