Monday, 26 January 2015

fore ground and background subtraction

clear all;
close all;
clc;
threshold = 0.05;
file = 'Video.avi';
vfr = vision.VideoFileReader(file,'ImageColorSpace','RGB');
%vfr = vision.VideoFileReader(file, 'ImageColorSpace', 'gray');
imagebox = step(vfr);
backgnd = imagebox;
g_img = rgb2gray(backgnd);
imagesize = size(backgnd);
width = imagesize(2);
height = imagesize(1);
foregnd = zeros(height, width);
while ~isDone(vfr)
   imagebox1 = step(vfr);
   foregndgray= rgb2gray(imagebox1);
   f_gnddiff= abs(double(foregndgray) - double(g_img));
  for i=1:width
for j=1:height
if ((foregnddiff(j,i) > threshold))
     foregnd(j,i) = 255;
else
     foregnd(j,i) = 0;    
end
end
end
g_img = foregndgray;
figure(1),subplot(3,1,1),imshow(imagebox1)
subplot(3,1,2),imshow(foregndgray)
subplot(3,1,3),imshow(uint8(foregnd))

end

No comments:

Post a Comment