资源简介

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  

评论

共有 条评论