I=imread('8.jpg');
I1=rgb2gray(I);
labe1= edge(I1,'sobel');
labe1=bwmorph(labe1,'bridge',5);
labe=zeros(size(I1,1),size(I1,2));
labe(2:end-1,2:end-1)=labe1(2:end-1,2:end-1);
x=repmat(1:size(I1,2),size(I1,1),1);
y=repmat(1:size(I1,1),size(I1,2),1)';
z=rot90(y,2);
labey1=y.*labe;
labex1=z.*labe;
mx1=max(labey1);
mx2=max(labex1);
labey1(labey1==0)=max(mx1);
labex1(labex1==0)=max(mx2);
mn1=min(labey1);
mn2=min(labex1);
idxmx1=find(mx1~=0);
idxmx2=find(mx2~=0);
idxmn1=find(mn1~=max(mx1));
idxmn2=find(mn2~=max(mx2));
idxmnmx1=intersect(idxmn1,idxmx1);
idxmnmx2=intersect(idxmn2,idxmx2);
segment1=zeros(size(I1,1),size(I1,2));
segment2=zeros(size(I1,1),size(I1,2));
for i=idxmnmx1
segment1(mn1(i):mx1(i),i)=1;
end
for i=idxmnmx2
segment2(mn2(i):mx2(i),i)=1;
end
img_3=imadd(segment1,segment2);
figure,
imshow(img_3);
masahat=sum(img_3(:))