Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Dynamic template Matching Algorithm for human tracking

Asked by Duke Watson on 11 Jun 2012
Latest activity Edited by amarnath on 13 Mar 2014

Hey can anyone tell me the concept and algorithm for tracking a human being using dynamic template matching? I want to know about the gaussian filter too.

3 Comments

Walter Roberson on 11 Jun 2012

"concept and algorithm" is a theory question, not a MATLAB question. Please read reference papers, such as searching Google Scholar.

Duke Watson on 12 Jun 2012

Yeah i reached that but i don't get any relevant one. All i need is the algorithm to implement it as this is a part of my project

Walter Roberson on 12 Jun 2012

This resource is for MATLAB-specific questions; please consult a resource for image processing.

Duke Watson

Products

1 Answer

Answer by amarnath on 13 Mar 2014
Edited by amarnath on 13 Mar 2014

all I needed is the same template matching code for Center of Gravity of moving target in a surveillance .......and I need to connect dynamic template matching output to stepper motor . . . .can you plz help me

{

object detection code . . by frame differencing we used the following code...

vid = videoinput('winvideo',1);

set(vid,'ReturnedColorSpace','rgb');

% Note that example uses both SET method and dot notation method.

set(vid,'TriggerRepeat',Inf);

vid.FrameGrabInterval = 5;

% Set value of a video source property.

vid_src = getselectedsource(vid);

set(vid_src,'Tag','Intellicam setup');

% Create a figure window. figure;

% Start acquiring frames.

start(vid)

% Calculate difference image and display it.

 while(vid.FramesAcquired<=1000) % Stop after 1000 frames
    data = getdata(vid,2); 
    diff_im = imabsdiff(data(:,:,:,1),data(:,:,:,2));
    diff = rgb2gray(diff_im);
    %diff_range = rangefilt(diff);
    %you can use the range filter for better analysis
    diff_bw = im2bw(diff,0.2);
    noi_red = medfilt2(diff_bw,[3 3]);
    %if more noise then use median filter or weiner filt to remove salt n 
pepper noise
    %ulta = imadjust(diff_bw,[0;1],[1;0]);
    bw2 = imfill(diff_bw,'holes');%you can specify any other location
    s  = regionprops(bw2, 'centroid');
    cd = s.Centroid
    centroids = cat(1, s.Centroid);
    imshow(data(:,:,:,2));
    %imshow(diff_bw)
   hold(imgca,'on');
    plot(imgca,centroids(:,1),centroids(:,2),'g*');
   imshow(diff_bw);
   %hold on;
   rectangle('Position',[cd 60 33],'LineWidth',1,'EdgeColor','b');%this is for 
edges
   hold(imgca,'off');

end

}

stop(vid)

plz plz plz help me with code.......

0 Comments

amarnath

Contact us