⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 constructwnew.m

📁 Face recognition using webcam and this data.if the person exist means its gives the serial data out.
💻 M
字号:
%NEIGHBOR MODE AND WEIGHTS
function W = constructWnew(fea,options)
fea=double(fea);
if (~exist('options','var'))
   options = [];
else
   if ~strcmpi(class(options),'struct') 
       error('parameter error!');
   end
end
%metric
if ~isfield(options,'Metric')
    options.Metric = 'Euclidean';
end
%KNN
if ~isfield(options,'NeighborMode')
    options.NeighborMode = 'KNN';
end
if ~isfield(options,'k')
   options.k = 5;
end
if options.k < 1
   options.k = 1;
end
%weight mode
if ~isfield(options,'WeightMode')
    options.WeightMode = 'HeatKernel';
end
if ~isfield(options,'t')
   options.t = 1;
end
[nSmp, nFea] = size(fea);
 bDistance = 0;
%euclidean distance
    if strcmpi(options.Metric,'Euclidean')
        D = zeros(nSmp);
        for i=1:nSmp-1
            for j=i+1:nSmp
                D(i,j) = norm(fea(i,:) - fea(j,:));
            end
        end
        D = D+D';
        bDistance = 1;
    end      
        if options.k >= nSmp
            G = ones(nSmp,nSmp);
        else
            G = zeros(nSmp,nSmp);
            if bDistance
                [dump idx] = sort(D, 2); % sort each row
            else
                [dump idx] = sort(-D, 2); % sort each row
            end
            for i=1:nSmp
                G(i,idx(i,1:options.k+1)) = 1;
            end
        end
 %weight mode
 D = exp(-D.^2/options.t);
        W = D.*G;
        W = max(W,W');
        W = sparse(W);     
        size(W);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -