Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
matlab code for object detection using background subtraction method
#1

matlab code for object detection using background subtraction method

Background subtraction, also known as Foreground Detection, is a technique in the fields of image processing and computer vision wherein an image s foreground is extracted for further processing (object recognition etc.). Generally an image s regions of interest are objects (humans, cars, text etc.) in its foreground. Background subtraction is a widely used approach for detecting moving objects in videos from static cameras. The rationale in the approach is that of detecting the moving objects from the difference between the current frame and a reference frame, often called background image , or background model

Matlab Code for Background Subtraction

clc;
close all;
clear;
%Read Background Image
Background=imread( background.jpeg );
%Read Current Frame
CurrentFrame=imread( original.jpeg );
%Display Background and Foreground
subplot(2,2,1);imshow(Background);title( BackGround );
subplot(2,2,2);imshow(CurrentFrame);title( Current Frame );
%Convert RGB 2 HSV Color conversion
[Background_hsv]=round(rgb2hsv(Background));
[CurrentFrame_hsv]=round(rgb2hsv(CurrentFrame));
Out = bitxor(Background_hsv,CurrentFrame_hsv);
%Convert RGB 2 GRAY
Out=rgb2gray(Out);
%Read Rows and Columns of the Image
[rows columns]=size(Out);
%Convert to Binary Image
for i=1:rows
for j=1:columns
if Out(i,j) >0
BinaryImage(i,j)=1;
else
BinaryImage(i,j)=0;
end
end
end
%Apply Median filter to remove Noise
FilteredImage=medfilt2(BinaryImage,[5 5]);
%Boundary Label the Filtered Image
[L num]=bwlabel(FilteredImage);
STATS=regionprops(L, all );
cc=[];
removed=0;
%Remove the noisy regions
for i=1:num
dd=STATS(i).Area;
if (dd < 500)
L(L==i)=0;
removed = removed + 1;
num=num-1;
else
end
end
[L2 num2]=bwlabel(L);
% Trace region boundaries in a binary image.
[B,L,N,A] = bwboundaries(L2);
%Display results
subplot(2,2,3), imshow(L2);title( BackGround Detected );
subplot(2,2,4), imshow(L2);title( Blob Detected );
hold on;
for k=1:length(B),
if( sum(A(k,Smile)
boundary = B{k};
plot(boundary(:,2), boundary(:,1), r ,'LineWidth ,2);
for l=find(A(:,k))
boundary = B{l};
plot(boundary(:,2), boundary(:,1), g ,'LineWidth ,2);
end
end
end
Reply

#2
Hello sir I am a student of nit uttarakhand to civil engineering branch.I want summer training in ur company please give me information about the procedure for applying it.
Name Mahesh Kumar yadav
Nit uttarakhand
Reply

#3
Am looking for background subtraction algorithm or matlab code for object tracking in matlab.Please share your information on this.
Reply

#4
sir i want to detect the no of cars in an image will u please help me out??
Reply

#5
matlab coding for moving object detection using background subtraction
Reply



Forum Jump:


Users browsing this thread:
1 Guest(s)

Powered By MyBB, © 2002-2024 iAndrew & Melroy van den Berg.