资源简介
该资源是包含代码和样例图像序列,代码附带详细的注释,深入浅出帮助你理解Meanshift算法和目标跟踪的关系,巴适系数和meanshift向量的关系

代码片段和文件信息
%% 从零基础实现meanshift算法
close all;
clear all;
clc;
%% 根据一幅目标全可见的图像圈定跟踪目标
I=imread(‘0001.jpg‘);
figure(1);
imshow(I);
[target_image rect] = imcrop(I); % (rect(1)rect(2))为目标图像左上角坐标
% ————→ x轴 (1到544) 对应图像的列 % rect(3)是目标图像的宽度(x轴)
% | % rect(4)是目标图像的高度(y轴)
% | % 目标图像右下角坐标(rect(1)+rect(3),rect(3)+rect(4))
% ↓
% y轴(1到960) 对应图像的行
[target_rowtarget_coltarget_dim] = size(target_image); % 获取目标图像行数 列数 维度
%% 计算目标图像的权值矩阵
target_center_x = rect(1) + rect(3)/2; % 目标图像在原图像中的 X轴中心坐标
target_center_y = rect(2) + rect(4)/2; % 目标图像在原图像中的 Y轴中心坐标
y(1) = target_row/2; % 目标图像在目标图像的 Y轴中心坐标
y(2) = target_col/2; % 目标图像在目标图像的 X轴中心坐标
h = (target_row/2)^2 + (target_col/2)^2; % 带宽 (对角线长度/2)^2
weight = zeros(target_rowtarget_col); % 权值矩阵
for i=1:target_row
for j=1:target_col
distance=(i-y(1))^2+(j-y(2))^2; % 计算每个点到中心坐标的距离
weight(ij)=1-distance/h; % Epanechnikov profile(距离越大,权值越小)
end
end
C = 1 / sum(sum(weight)); % 归一化系数 ( Tips 二维数组的求和 sum(sum(array)) )
%% 计算目标权值直方图qu
TargetHistogram = zeros(14096); % 目标的权值直方图
for i=1:target_row
for j=1:target_col
% rgb颜色空间量化为16*16*16 bins
% rgb的三个维度每一维都0~255 除16之后 每一维就降到了0~15
q_r = fix(double(target_image(ij1))/16); % fix为 下取整函数
q_g = fix(double(target_image(ij2))/16);
q_b = fix(double(target_image(ij3))/16);
q_temp = q_r*256 + q_g*16 + q_b; % 降维之后的16位的RGB空间可以把颜色分为 16*16*16=4096种颜色
% 这里是计算目标图像的每一个像素点的颜色在直方图的坐标
% 计算得到坐标是0~4095,因此数组系数要+1
TargetHistogram(q_temp+1)= TargetHistogram(q_temp+1)+weight(ij);
% 统计目标的特征直方图中每一种颜色的权重
% 目标图像每一个像素点都会对应直方图中一种颜色
% 之前根据距离目标中心的距离也计算了每个像素点的权重的
end
end
TargetHistogram = TargetHistogram*C;
rect(3)=ceil(rect(3)); % rect(3)是目标图像的宽度 ceil是上取整
rect(4)=ceil(rect(4)); % rect(4)是目标图像的高度
bar(TargetHistogram0.5);
title(‘目标特征直方图‘);
%% 读取序列图像开始跟踪
ImageSequence = dir(‘*.jpg‘);
SequenceLength = length(ImageSequence);
% % 验证序列顺序是否正常
% for l=1:SequenceLength
% ImageSequence(l).name
% end
IterationMaxNum = 2;
for l=1:SequenceLength
CurrentImage = imread(ImageSequence(l).name);
IterationNum = 0;
Y = [22];
while( (Y(1
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
.CA.... 41113 2019-03-21 14:31 Meanshift算法MATLAB实现\0001.jpg
.CA.... 38659 2019-03-21 14:31 Meanshift算法MATLAB实现\0002.jpg
.CA.... 40697 2019-03-21 14:31 Meanshift算法MATLAB实现\0003.jpg
.CA.... 40547 2019-03-21 14:31 Meanshift算法MATLAB实现\0004.jpg
.CA.... 43372 2019-03-21 14:31 Meanshift算法MATLAB实现\0005.jpg
.CA.... 40458 2019-03-21 14:31 Meanshift算法MATLAB实现\0006.jpg
.CA.... 41791 2019-03-21 14:31 Meanshift算法MATLAB实现\0007.jpg
.CA.... 41443 2019-03-21 14:31 Meanshift算法MATLAB实现\0008.jpg
.CA.... 45220 2019-03-21 14:31 Meanshift算法MATLAB实现\0009.jpg
.CA.... 41704 2019-03-21 14:31 Meanshift算法MATLAB实现\0010.jpg
.CA.... 43879 2019-03-21 14:31 Meanshift算法MATLAB实现\0011.jpg
.CA.... 43445 2019-03-21 14:31 Meanshift算法MATLAB实现\0012.jpg
.CA.... 46029 2019-03-21 14:31 Meanshift算法MATLAB实现\0013.jpg
.CA.... 42999 2019-03-21 14:31 Meanshift算法MATLAB实现\0014.jpg
.CA.... 43017 2019-03-21 14:31 Meanshift算法MATLAB实现\0015.jpg
.CA.... 39847 2019-03-21 14:31 Meanshift算法MATLAB实现\0016.jpg
.CA.... 45106 2019-03-21 14:31 Meanshift算法MATLAB实现\0017.jpg
.CA.... 42073 2019-03-21 14:31 Meanshift算法MATLAB实现\0018.jpg
.CA.... 42476 2019-03-21 14:31 Meanshift算法MATLAB实现\0019.jpg
.CA.... 42073 2019-03-21 14:31 Meanshift算法MATLAB实现\0020.jpg
.CA.... 46296 2019-03-21 14:31 Meanshift算法MATLAB实现\0021.jpg
.CA.... 44755 2019-03-21 14:31 Meanshift算法MATLAB实现\0022.jpg
.CA.... 47372 2019-03-21 14:31 Meanshift算法MATLAB实现\0023.jpg
.CA.... 47389 2019-03-21 14:31 Meanshift算法MATLAB实现\0024.jpg
.CA.... 49380 2019-03-21 14:31 Meanshift算法MATLAB实现\0025.jpg
.CA.... 46482 2019-03-21 14:31 Meanshift算法MATLAB实现\0026.jpg
.CA.... 47421 2019-03-21 14:31 Meanshift算法MATLAB实现\0027.jpg
.CA.... 46129 2019-03-21 14:31 Meanshift算法MATLAB实现\0028.jpg
.CA.... 51013 2019-03-21 14:31 Meanshift算法MATLAB实现\0029.jpg
.CA.... 48452 2019-03-21 14:31 Meanshift算法MATLAB实现\0030.jpg
............此处省略175个文件信息
相关资源
- 多目标跟踪 论文+代码
- 卡尔曼的视频序列图像的目标跟踪程
- MATLAB 粒子滤波目标跟踪代码
- matlab实现视频中动态目标跟踪
- 高斯混合PHD滤波器扩展目标跟踪
- 用matlab编写的Meanshift追踪程序
- matlab源码的IMM交互多目标单目标跟踪
- mean shift 目标跟踪matlab程序
- [Matlab作品]matlab实现视频中动态目标跟
- 目标跟踪算法KCF融合HOG+CN特征,matl
- meanshift分割算法的matlab实现,完整标
- 基于卡尔曼滤波的目标跟踪算法-官方
- 粒子滤波多目标跟踪
- mean shift目标跟踪matlab程序
- 基于粒子滤波的视频目标跟踪算法m
- 基于Meanshift的单目标跟踪
- meanshift图像平滑matlab实现
- FCT(Fast Compress Tracking)目标跟踪程序
- MeanShift算法详解以及matlab源码
- 基于Meanshift的单目标跟踪算法matlab及
- 帧差法实现目标跟踪的Matlab代码
- Kalman滤波在视频图像目标跟踪中的应
- MeanShift均值漂移目标追踪算法源码
- matlab多目标跟踪算法及数据集
- kalman滤波器
- 单模型机动目标跟踪算法的仿真研究
- k-means和meanshift在图像聚类分割中的对
- 均值漂移算法的matlab代码
- 交互多模型Kalman滤波在目标跟踪中的
- 直角坐标系卡尔曼滤波目标跟踪
评论
共有 条评论