- 论坛徽章:
- 24
|
本帖最后由 zhujiang73 于 2014-01-23 16:22 编辑
回复 3# fender0107401
其实就是这个:- % llc approximation coding
- II = eye(knn, knn);
- Coeff = zeros(nframe, nbase);
- for i=1:nframe
- idx = IDX(i,:);
- z = B(idx,:) - repmat(X(i,:), knn, 1); % shift ith pt to origin
- C = z*z'; % local covariance
- C = C + II*beta*trace(C); % regularlization (K>D)
- w = C\ones(knn,1);
- w = w/sum(w); % enforce sum(w)=1
- Coeff(i,idx) = w';
- end
复制代码 变成:- Mat ll_mat = Mat::eye(knn, knn, CV_32FC1);
- Mat z_mat = mat_cbknn - repeat(des_mat_r01, 5, 1);
- Mat one_mat = Mat::ones(knn, 1, CV_32FC1);
- Mat c_mat = z_mat*z_mat.t();
- float ftrace = trace(c_mat).val[0];
- c_mat = c_mat + ll_mat*fbeta*ftrace;
- Mat w_mat = c_mat.inv()*one_mat;
- w_mat = w_mat/sum(w_mat).val[0];
- w_mat = w_mat.t();
复制代码 {:3_189:} |
|