kalman filter object tracking
1 view (last 30 days)
Show older comments
HOW CAN CHange THE TRACKER SHAPE FROM CIRCLE TO SQUARE OR RECTANGLE
frames = read(vid,r);
frames = insertShape(frames,'FilledCircle',[centroid(1,1,r) centroid(1,2,r) sqrt(stats{r}(id(r)).Area/pi)],'LineWidth',1);
marked_noise(:,:,:,r) = frames;
end
%updating kalman filter
for r=1:nframes-1
frames = read(vid,r);
frames = insertShape(frames,'FilledCircle',[centroid(1,1,r) centroid(1,2,r) 4],'LineWidth',2);
if(mod(r,2) == 0) %%tracking the original object
input = [centroid(1,1,r); centroid(1,2,r)];
else
input=[];
end
x = A*x + B*u; %prediction(next state)
S = A*S*A' + Q; %%error covairance
K = S*H'*inv(H*S*H'+R);%correction(gain)
%updating the estimation\\
if(~isempty(input)) %Check if we have an input
x = x + K*(input - H*x);
end
S = (eye(size(S,1)) - K*H)*S; %update the covariance error
Kalman_Output = H*x; %plotting the measurement
frames = insertShape(frames,'Filledcircle',[Kalman_Output(1) Kalman_Output(2) 4],'LineWidth',2,'Color','white');
scenario_1(:,:,:,r) = frames;
0 Comments
Answers (1)
Mark Sherstan
on 27 Apr 2019
Conisder using insertObjectAnnotation(I,shape,position,label). There are some examples in the link provided.
0 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!