Azzera filtri
Azzera filtri

i am new to matlab can anyone please explain this lines

1 visualizzazione (ultimi 30 giorni)
filename=uigetfile('.jpg');
I=imread(filename);
I=imresize(I,[256 256]);
figure,imshow(I);
title('input image')
%----imnoise
I_n=I;
J=zeros(size(I_n));
for iclr=1:3
I_n = I(:,:,iclr);
[m n]=size(I_n);
BH=imhist(I_n);
[v p1]=max(BH);
pn=find(BH~=v);
[v p2]=max(BH(pn));
s_p=[p1-1 p2-1];
I_sp=zeros([m n]);
sp1=find(I_n==s_p(1));
I_sp(sp1)=1;
sp2=find(I_n==s_p(2));
I_sp(sp2)=1;
J(:,:,iclr)=I_n;
for i=2:m-1
for j=2:n-1
b_3=I_n(i-1:i+1,j-1:j+1);
if I_sp(i,j)==1
J(i,j,iclr)=median(double(b_3(:)));
end
end
end
end
%-----filtered image
figure,imshow(uint8(J));

Risposta accettata

vijay sai
vijay sai il 26 Gen 2014
i think the program u have given is a incomplete one.. it's also erroneous...it's trying to plot histograms for individual image plans r,g,b,...when I tried finishing the program and debug it...the loop is never ending ...giving the full program ..someone may be helpful to you..

Più risposte (1)

Azzi Abdelmalek
Azzi Abdelmalek il 26 Gen 2014
Modificato: Azzi Abdelmalek il 26 Gen 2014
If you are new with Matlab, the best thing to do is to read the getting started with Matlab. You can also learn what each function do by typing
help imhist
help size
and so on

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by