kalman filter object tracking

1 visualizzazione (ultimi 30 giorni)
vishalkumar solanki
vishalkumar solanki il 26 Apr 2019
Modificato: Walter Roberson il 27 Apr 2019
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;

Risposte (1)

Mark Sherstan
Mark Sherstan il 27 Apr 2019
Conisder using insertObjectAnnotation(I,shape,position,label). There are some examples in the link provided.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by