Bonjour
Je veux filtrer une image par le filtre sigma, mais mon code ne me donne pas un bon résultat, mais plutôt une image noire
voici mon code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function [sigma]=sigma_f(q1,I1,I2,nlook,sig1);
[aa,bb]=size(q1);
nl=floor(nlook/2);
for xx=1+nl:aa-nl
    for yy=1+nl:bb-nl
 
        Q(:,:)=q1(xx-nl:xx+nl,yy-nl:yy+nl);% un pixel central
        FF=Q(Q<I2*q1(xx,yy)&Q>I1*q1(xx,yy));%condition sur les pixels traités 
        mz1=mean(FF(:));
        vz1=var(FF(:));
        b=(vz1-((mz1^2)*sig1))/(vz1*(1+sig1));
        if b<0; b=0; end
       sigma=((1-b)*mz1)+(b*FF(:));%fonction du sigma 
    end;     
end
Merci d'avance pour votre aide.