Matlab实现meanshift算法,目标跟踪代码实现

这段代码展示了如何使用Matlab实现Meanshift算法进行目标跟踪。通过读取图像,计算目标权值矩阵,建立权值直方图,然后进行mean shift迭代更新目标位置,最终得到目标的跟踪轨迹。
摘要由CSDN通过智能技术生成


close all;
clear ;
%function [] = Meanshift()
%根据一幅目标全可见的图像圈定跟踪目标
I=imread('00001.jpg');
figure();
imshow(I);


[temp,rect]=imcrop(I);%rect是标注目标的参数变化[x坐标,y坐标,长,宽]
[a,b,c]=size(temp); 




%计算目标图像的权值矩阵
y(1)=a/2;
y(2)=b/2;
tic_x=rect(1)+rect(3)/2;
tic_y=rect(2)+rect(4)/2;
m_wei=zeros(a,b);%权值矩阵
h=y(1)^2+y(2)^2 ;%带宽


for i=1:a
    for j=1:b
        dist=(i-y(1))^2+(j-y(2))^2;
        m_wei(i,j)=1-dist/h; %epanechnikov profile
    end
end
C=1/sum(sum(m_wei));%归一化系数




%计算目标权值直方图
%hist1=C*wei_hist(temp,m_wei,a,b);%target model
hist1=zeros(1,a*b);
for i=1:a
    for j=1
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值