kalman filter object tracking

1 次查看(过去 30 天)
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;

回答(1 个)

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

类别

Help CenterFile Exchange 中查找有关 State-Space Control Design and Estimation 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by