You are on page 1of 1

function [ M ] = Pixel_Segmentation_itr( imagex )

if(ndims(imagex)==3)
image=rgb2gray(imagex);
else
image=imagex;
end
H=imhist(image);
M(1)=0;k=2;
x=find(H>0);
M(2)=x(1);
while(M(k)~=M(k-1))
X1=0;X2=0;X3=0;X4=0;
for i=1:M(k)
X1=X1+i*H(i);
X2=X2+2*H(i);
end
for i=M(k):256
X3=X3+i*H(i);
X4=X4+2*H(i);
end
M(k+1)=ceil((X1/X2)+(X3/X4));
k=k+1;
end
k=length(M);
nx=size(image);
T=M(k);
for i=1:nx(1)
for j=1:nx(2)
if(image(i,j)>=T)
image(i,j)=1;
else
image(i,j)=0;
end
end
end
image=double(image);
imshow(image);
end

You might also like