%foreground detection
close all
f=imread('d:\rabit.jpg');
grayrabit = rgb2gray(f);
mask = grayrabit>170;
imshow(mask);
imwrite(mask,'d:\maskrabit.jpg','jpg');
f3=imread('d:\maskrabit.jpg');
f3=im2bw(f3);
fr=f(:,:,1);
fg=f(:,:,2);
fb=f(:,:,3);
frm=immultiply(fr,f3);
fgm=immultiply(fg,f3);
fgb=immultiply(fb,f3);
foreground=cat(3,frm,fgm,fgb);
imwrite(foreground,'d:\forerabit.jpg','jpg');
figure,imshow(f),figure,imshow(foreground)
%background detection
f=imread('d:\rabit.jpg');
grayrabit = rgb2gray(f);
mask = grayrabit<170;
imshow(mask);
imwrite(mask,'d:\maskrabit.jpg','jpg');
f3=imread('d:\maskrabit.jpg');
f3=im2bw(f3);
fr=f(:,:,1);
fg=f(:,:,2);
fb=f(:,:,3);
frm=immultiply(fr,f3);
fgm=immultiply(fg,f3);
fgb=immultiply(fb,f3);
background=cat(3,frm,fgm,fgb);
imwrite(background,'d:\bkdrabit.jpg','jpg');
figure,imshow(f),figure,imshow(background);
fore=imread('d:\forerabit.jpg');
bkd=imread('d:\bkdrabit.jpg');
out=imdivide(bkd,fore);
edge1=edge(rgb2gray(fore),'sobel');
figure,imshow(edge1);
edge2=edge(rgb2gray(bkd),'sobel');
figure,imshow(edge2);
out1=imdivide(fore,bkd);
figure,imshow(out);
figure,imshow(out1);C = xor(rgb2gray(f),f3);imshow(C);
close all
f=imread('d:\rabit.jpg');
grayrabit = rgb2gray(f);
mask = grayrabit>170;
imshow(mask);
imwrite(mask,'d:\maskrabit.jpg','jpg');
f3=imread('d:\maskrabit.jpg');
f3=im2bw(f3);
fr=f(:,:,1);
fg=f(:,:,2);
fb=f(:,:,3);
frm=immultiply(fr,f3);
fgm=immultiply(fg,f3);
fgb=immultiply(fb,f3);
foreground=cat(3,frm,fgm,fgb);
imwrite(foreground,'d:\forerabit.jpg','jpg');
figure,imshow(f),figure,imshow(foreground)
%background detection
f=imread('d:\rabit.jpg');
grayrabit = rgb2gray(f);
mask = grayrabit<170;
imshow(mask);
imwrite(mask,'d:\maskrabit.jpg','jpg');
f3=imread('d:\maskrabit.jpg');
f3=im2bw(f3);
fr=f(:,:,1);
fg=f(:,:,2);
fb=f(:,:,3);
frm=immultiply(fr,f3);
fgm=immultiply(fg,f3);
fgb=immultiply(fb,f3);
background=cat(3,frm,fgm,fgb);
imwrite(background,'d:\bkdrabit.jpg','jpg');
figure,imshow(f),figure,imshow(background);
fore=imread('d:\forerabit.jpg');
bkd=imread('d:\bkdrabit.jpg');
out=imdivide(bkd,fore);
edge1=edge(rgb2gray(fore),'sobel');
figure,imshow(edge1);
edge2=edge(rgb2gray(bkd),'sobel');
figure,imshow(edge2);
out1=imdivide(fore,bkd);
figure,imshow(out);
figure,imshow(out1);C = xor(rgb2gray(f),f3);imshow(C);

