资源简介
Mean Shift算法,一般是指一个迭代的步骤,即先算出当前点的偏移均值,移动该点到其偏移均值,然后以此为新的起始点,继续移动,直到满足一定的条件结束.Comaniciu等人[3][4]把Mean Shift成功的运用的特征空间的分析,在图像平滑和图像分割中Mean Shift都得到了很好的应用. Comaniciu等在文章中证明了,Mean Shift算法在满足一定条件下,一定可以收敛到最近的一个概率密度函数的稳态点,因此Mean Shift算法可以用来检测概率密度函数中存在的模态.
代码片段和文件信息
function [kmatrixY_kmatrixX_kmatrix] = kernelmatrix(hsmethodh)
%* -------------------------------------------------------------------------
%* 作者 :pineapple 时间 :2007.5.23
%* 联系方式 :QQ (94031570) Email(fanjun6294832@163.com)
%* -------------------------------------------------------------------------
%* 函数说明:[kmatrixY_kmatrixX_kmatrix] = kernelmatrix(hhsmethod)
%* 输入参数:
%* hs: 均值平移算法中的空域窗宽
%* h: 最大的影响范围
%* method : guass | flat. 两种类型的核函数
%* 输出参数:
%* kmatrix
%--------------------------------------------------------------------------
if nargin < 3
h = 2*hs;
end
x_W =1: 2*h+1;
y_W =1: 2*h+1;
x_kmatrix = x_W - h-1;
y_kmatrix = y_W - h-1;
[Y_kmatrixX_kmatrix] = meshgrid(y_kmatrixx_kmatrix);
kmatrix = X_kmatrix.^2 + Y_kmatrix.^2;
switch method
case ‘guass‘
kmatrix = exp(-kmatrix./hs/hs);% h为核窗宽
case ‘flat‘
kmatrix = 1- kmatrix./hs/hs;
k = kmatrix < 0;
kmatrix(k) = 0;
end
评论
共有 条评论