function [fg,fg1]=testoriginalblood1(I22)
I=I22;
I1=I;
% ***************************************************************
% IMAGE PREPROCESSING
% ***************************************************************
se=strel('square',2);
d2=imerode(I,se);
I=d2;
se=strel('square',2);
ie=imopen(I,se);
id=imclose(I,se);
avg=imadd(ie,id);
avg1=imdivide(avg,2);
while ~isequal(I,avg1)
I=avg1;
ie=imopen(I,se);
id=imclose(I,se);
avg=imadd(ie,id);
avg1=imdivide(avg,2);
end
c=0;
se=strel('square',2);
se1=strel('square',5);
Ie = imerode(I, se);
Iobr = imreconstruct(Ie, I);
Iobrd = imdilate(Iobr, se1);
Iobrcbr = imreconstruct(imcomplement(Iobrd), imcomplement(Iobr));
Iobrcbr = imcomplement(Iobrcbr);
im1=Iobrcbr;
n=2;
mmg=0;
%**************************************************************************
% MULTISCALE MORPHOLOGICAL GRADIENT IMAGE
% *************************************************************************
for i=1:n
se2=2*i+1;
stse11=strel('square',se2);
d11=imdilate(im1,stse11);
e1=imerode(im1,stse11);
mg=imsubtract(d11,e1);
se3=2*(i-1)+1;
se11=strel('square',se3);
mmg1=imerode(mg,se11);
mmg=imadd(mmg1,mmg);
end;
mmgn=imdivide(mmg,n);
sq=strel('square',2);
ir=imdilate(mmgn,sq);
y=prctile(double(imhist(ir)),35);
ir1=double(ir)+y;
fg=imreconstruct(double(mmgn),ir1);
% *********************************************************************
% MARKER EXTRACTION
% ********************************************************************
fg=imhmin(fg,graythresh(fg)*mean(mean(fg)));
[l,m]=imhist(fg);
% ********************************************************************
% FOREGROUND MARKER
% ********************************************************************
fgm=imextendedmin(fg,graythresh(fg));
se=strel('square',2);
fgm=imdilate(fgm,se);
se=strel('rectangle',[2,2]);
fgm=imclose(fgm,se);
se1=strel('square',1);
fgm=imopen(fgm,se1);
fgm=imerode(fgm,se1);
I2 = I;
I2(fgm) = 255;
se2 = strel('square',2);
fgm1=imerode(fgm ,se2);
se3=strel('square',4);
fgm2 = imclose(fgm1, se3);
fgm3 = imopen(fgm2, se2);
fgm4 = bwareaopen(fgm3,100);
% ***********************************************************************
% BACKGROUND MARKER
% ************************************************************************
D = bwdist(fgm3);
D=D .* double(im1);
DL = watershed(D);
DL=(D==0);
bgm = DL == 0;
bgm=DL;
%*********************************************************************
% WATERSHED ON GRADIENT IMAGE
%*********************************************************************
gradmag2 = imimposemin(fg,bgm|fgm);
L = watershed(gradmag2);
I4 = I;
I4(imdilate(L == 0, ones(1,1))) = 255;
%**********************************************************************
% MARKER WITH GRADIENT
%**********************************************************************
[p,q]=size(I4);
for i=1:p
for j=1:q
if(bgm(i,j)==1)
c(i,j)=(double(fg(i,j))+double(bgm(i,j)))/2;
else
c(i,j)=double(fg(i,j));
end
end
end
c=mat2gray(c);
c1=c;
se=strel('rectangle',[2,2]);
c=imopen(c,se);
c=imerode(c,se);
se1=strel('rectangle',[2,2]);
c=imdilate(c,se1);
se2=strel('rectangle',[2,2]);
c=imerode(c,se2);
% *************************************************************************
% FINAL SEGMENTATION
% *************************************************************************
L1=watershed(c);
I5 = im1;
I5(imdilate(L1 == 0, ones(1,1))) = 255;
fg=I5;
fg1=c;