超分辨率重建鄰域嵌入部分代碼

超分辨率重建鄰域嵌入部分代碼Super-Resolution Through Neighbor Embedding

%NE算法



function [YT,U,neighborhood] = naneighbor(XT,XS,YS,K)
[~,T] = size(XT);
[M,~] = size(YS);
neighbors\n',K);
neighborhood = zeros(K,T);
for i = 1:T
    temp = XT(:,i);
    distance = dist2(temp',XS');
    [~,index] = sort(distance');
    neighborhood(:,i) = index(2:(K+1));
end
tol=1e-4; % regularlizer in case constrained fits are ill conditioned
U = zeros(K,T);
for ii=1:T
    z = XS(:,neighborhood(:,ii))-repmat(XT(:,ii),1,K); % shift ith pt to origin
    C = z'*z;                                        % local covariance
    if trace(C)==0
        C = C + eye(K,K)*tol;                   % regularlization
    else
        C = C + eye(K,K)*tol*trace(C);
    end
    U(:,ii) = C\ones(K,1);                           % solve C*u=1
    U(:,ii) = U(:,ii)/sum(U(:,ii));                  % enforce sum(u)=1
end;
YT = zeros(M,T);
for ii = 1:T
    YT(:,ii) = YS(:,neighborhood(:,ii))*U(:,ii);
end

輸入XT待重建低分辨率圖像特徵矩陣,每一列對應一個圖像塊的特徵向量

XS訓練集中的低分辨率圖像塊特徵矩陣;YS是對應的訓練集高分辨率圖像塊特徵向量

輸出YT,XT對應的高分辨率圖像塊的特徵向量


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章