• 大小:
    文件类型: .zip
    金币: 2
    下载: 0 次
    发布日期: 2024-01-28
  • 语言: Matlab
  • 标签: sift  

资源简介

sift(matlab)算法实现

资源截图

代码片段和文件信息

function [feat_index] = addOriFeatures(ddata_indexfeat_indexddatahistnori_peak_ratio)
% 为关键点添加方向
global features;
global init_sigma;
global intvls;
omax = dominantOri(histn);
for i = 1:n
    if (i==1)
            l = n;
            r = 2;
    elseif (i==n)
        l = n-1;
        r = 1;
    else
        l = i-1;
        r = i+1;
    end
    if ( hist(i) > hist(l) && hist(i) > hist(r) && hist(i) >= ori_peak_ratio*omax )
        bin = i + interp_hist_peak(hist(l)hist(i)hist(r));
        if ( bin -1 <= 0 )
            bin = bin + n;
        % i think it‘s theoretically impossible
        elseif ( bin -1 > n )
            bin = bin - n;
            disp(‘###################what the fuck?###################‘);
        end
        accu_intvl = ddata.intvl + ddata.x_hat(3);
        features(feat_index).ddata_index = ddata_index;
        % 第一个八度是双倍大小
        features(feat_index).x = (ddata.x + ddata.x_hat(1))*2^(ddata.octv-2);
        features(feat_index).y = (ddata.y + ddata.x_hat(2))*2^(ddata.octv-2);
        features(feat_index).scl = init_sigma * power(2ddata.octv-2 + (accu_intvl-1)/intvls);        
        features(feat_index).ori = (bin-1)/n*2*pi - pi;
        feat_index = feat_index + 1;
    end
end
end

function [omax] = dominantOri(histn)
    omax = hist(1);
    for i = 2:n
        if(hist(i) > omax)
            omax = hist(i);
        end
    end
end

function [position] = interp_hist_peak(lcr)
    position = 0.5*(l-r)/(l-2*c+r);
end

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        1539  2018-05-07 15:47  sift(matlab)\addOriFeatures.m
     文件       97697  2016-09-28 17:52  sift(matlab)\book.pgm
     文件         730  2016-09-28 17:52  sift(matlab)\calcGrad.m
     文件         125  2018-05-05 23:05  sift(matlab)\drawFeatures.m
     文件        1081  2018-05-05 23:04  sift(matlab)\drawMatched.m
     文件         272  2018-05-05 23:15  sift(matlab)\gaussian.m
     文件        7270  2018-05-07 15:34  sift(matlab)\getFeatures.m
     文件         549  2016-09-28 17:52  sift(matlab)\hist2Descr.m
     文件        1272  2016-09-28 17:52  sift(matlab)\interpHistEntry.m
     文件        2252  2018-05-07 14:37  sift(matlab)\interpLocation.m
     文件         631  2018-05-06 21:52  sift(matlab)\isEdgeLike.m
     文件         428  2018-06-07 09:44  sift(matlab)\jpg2pgm.m
     文件        3198  2016-09-28 17:52  sift(matlab)\LICENSE
     文件         991  2018-05-07 17:20  sift(matlab)\match.m
     文件         858  2016-09-28 17:52  sift(matlab)\oriHist.m
     文件         527  2016-09-28 17:52  sift(matlab)\README.md
     文件      196623  2016-09-28 17:52  sift(matlab)\scene.pgm
     文件         388  2018-05-07 15:37  sift(matlab)\smoothOriHist.m
     文件         453  2018-06-08 21:53  sift(matlab)\swSift.m
     文件       62515  2018-06-07 09:44  sift(matlab)\test1.pgm
     文件       62515  2018-06-07 09:46  sift(matlab)\test2.pgm

评论

共有 条评论