Urgent comprendr le programme matlab suivant?

dounia kella -  
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   -
voila mon programme mais j'arrive pas a comprendre les instructions et ce qu'elle font exactement vu qu'il y a pas beaucoup de commentaire, 'tory' est le nom de mon image,
voila merci d'avance.

dt=0.1;
kmax=15;
Im=imread('C:\Documents and settings\tory.jpg');
Im=double(Im);
figure(1);
imshow(unit8(Im));
[m,n]=size(Im);

%Ajouter du bruit gaussien
%std_n=0;
% no noise
randn('seed',1296);
noise=randn(size(Im))*20;
Ig=Im+noise;
figure(2);
clf;
imshow(unit8(Ig));

%ajouter du flou gaussien a l'image
PSF=fspecial('gaussian',11,3);
Iflou=imfilter(Im,PSF,'conv');
figure(3);
imshow(unit8(Iflou));

%implémenter le filtre de choc
I=Iflou;
I=double(I);
for i=2:m-1;
for j=2:n-1;
Ixp=I(i,j+1)-I(i,j);
Ixn=I(i,j-1)-I(i,j);
Iyp=I(i+1,j)-I(i,j);
Iyn=I(i-1,j)-I(i,j);

if ((Ixp*Ixn)<0)
Ix=min(Ixp,Ixn);

else
Ix=0;
end

if ((Iyp*Iyn)<0)
Iy=min(Iyp,Iyn);
else
Iy=0;
end

%grad(i,j)=sqrt((I(i,j+1)-I(i,j))^2+(I(i+1),j)-I(i,j))^2);

grad(i,j)=sqrt((Ix)^2+(Iy)^2);
lap(i,j)=I(i-1,j)+I(i+1,j)+I(i,j-1)+I(i,j+1)-4*I(i,j);

end
end
for k=1:kmax;
for i=2:m-1;
for j=2:n-1;

Ifiltre(i,j)=I(i,j)-dt*sign(lap(i,j))*grad(i,j);
I(i,j)=Ifiltre(i,j);
end
end
end
figure(4);
imshow(unit8(Ifiltre))




1 réponse

Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
les commentaire sont bien suffisant.
Qu'est-ce qui t'ennuie ?
0