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:
Merci d'avance pour votre aide.
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
Partager