91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 3.43MB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2023-09-09
  • 語言: Matlab
  • 標簽:

資源簡介

SIFT代碼實現。本代碼是通過Matlab實現了SIFT。可以作為理解SIFT原理以及把握過程細節的參考。與博文《SIFT代碼V1版本(Matlab)實現以及思考的問題》配套。

資源截圖

代碼片段和文件信息

function?[flagbool?kpt]?=?adjustExtrPoint(Dogpyrgausspyroctlay1r1c1)
global?layers;
global?edgegama;?%是否是物體邊緣判斷的gamma系數
global?SIFT_STEP;?%迭代步數
global?IterationMax;?%相差一個較大值
global?ExtrThreshold;?%極值點穩定判斷
global?SIFT_Img_Border;?%圖片邊界去掉SIFT_Img_Border-1個像素點

flagbool?=?0;
kpt?=?[];
lay?=?lay1;r?=?r1;c?=?c1;??%這三個位置信息是會適當調整的?但是oct是不會調整的

for?step?=?1:1:SIFT_STEP??%循環次數
????cub_pre?=?Dogpyr{oct}(r-1:r+1c-1:c+1lay-1);
????cub_at?=?Dogpyr{oct}(r-1:r+1c-1:c+1lay);
????cub_next?=?Dogpyr{oct}(r-1:r+1c-1:c+1lay+1);
????dx?=?1/2?*?(?cub_at(23)-cub_at(21)?);
????dy?=?1/2?*?(?cub_at(32)-cub_at(12)?);
????ds?=?1/2?*?(?cub_next(22)-cub_pre(22)?);
????Dx?=?[dx;dy;ds];
????atv2?=?cub_at(22)*2;
????dxx?=?(cub_at(23)+cub_at(21)-atv2);
????dyy?=?(cub_at(32)+cub_at(12)-atv2);
????dss?=?(cub_next(22)+cub_pre(22)-atv2);
????dxy?=?(cub_at(33)+cub_at(11)-cub_at(31)-cub_at(13))/4;
????dxs?=?(cub_next(23)-cub_next(21)-cub_pre(23)+cub_pre(21))/4;
????dys?=?(cub_next(32)-cub_next(12)-cub_pre(32)+cub_pre(12))/4;
????H?=?[dxx?dxy?dxs;?...
????????dxy?dyy?dys;?...
????????dxs?dys?dss];
????Det?=?-inv(H)*Dx;
????dr?=?Det(1);?dc?=?Det(2);?di?=?Det(3);
????if?abs(dr)<0.5?&&?abs(dc)<0.5?&&?abs(di)<0.5
????????flagbool?=?1;
????????break;
????end
????if?abs(dr)>IterationMax?||?abs(dc)>IterationMax?||?abs(di)>IterationMax
????????flagbool?=?0;
????????break;
????end
????lay?=?round(lay+di);?r?=?round(r+dr);?c?=?round(c+dc);
????%同一組內的圖片像素數量相同,所以取第1層。不能用lay層(程序運行過程中round(lay+di)可能非合理區)
????[rows?cols]?=?size(Dogpyr{oct}(::1));??
????%?極值點最多只能在Dog塔中的第2至s+1層尋找(上下都要有比較層)
????if?lay<2?||?lay?>layers+1?||?...
????????????rrows-SIFT_Img_Border+1?||?...
????????????ccols-SIFT_Img_Border+1
????????flagbool?=?0;
????????break;
????end
end
%結束for循環,如果找到了極值點flagbool?==?1


%%
%也只有迭代步數小于預設值且abs(dr)<0.5?&&?abs(dc)<0.5?&&?abs(di)<0.5時
%才會進入下面的if條件,因此下面的代碼可以放到上面的“flagbool?=?1;”語句前
if?flagbool?==?1
????fx?=?Dogpyr{oct}(rclay)+1/2*Dx‘*Det;
????laymax?=?max(max(Dogpyr{oct}(::lay)));
????laymin?=?min(min(Dogpyr{oct}(::lay)));
????stable?=?ExtrThreshold*max(?abs(laymax)abs(laymin)?);
????if?abs(fx)?????????flagbool?=?0;
????end
????%?計算Hessian矩陣,與OpenCV中不同的是通過gausspyr求Hessian矩陣
????%?我認為邊界應該對圖像本身來說,同時Dog本來就是差分再繼續差分,即高階差分其失真是非常大的
????%?具體操作中Dog極值點對應高斯塔的被減層(因為Dog是Log的被減層的拉普拉斯差分的近似)。
????%?并且為了防止偏差,將極值點周圍九個點都判斷是不是落在邊界上
????for?rh?=?r-1:1:r+1
????????for?ch?=?c-1:1:c+1
%?????for?rh?=?r
%?????????for?ch?=?c
????????????Hcub?=?gausspyr{oct}(rh-1:rh+1ch-1:ch+1lay);
????????????Hxx?=?Hcub(23)+Hcub(21)-2*Hcub(22);
????????????Hyy?=?Hcub(32)+Hcub(12)-2*Hcub(22);
????????????Hxy?=?(Hcub(33)+Hcub(11)-Hcub(13)-Hcub(31))/4;
????????????tr?=?Hxx+Hyy;
????????????Hdet?=?Hxx*Hyy-Hxy*Hxy;
????????????if?Hdet?<=0?||?tr*tr/Hdet?>=?(edgegama+1)*(edgegama+1)/edgegama
????????????????flagbool?=?0;
????????????end
????????end
????end
end
%%??極值點迭代精確定位穩定,且不屬于邊界等條件滿足時
if??flagbool?==?1
????kpt?=?[oct?lay?r?c?di?dr?dc];

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????3404??2018-04-01?21:06??SIFT_Yhb?-?備份1\adjustExtrPoint.m

?????文件???????1221??2018-04-06?00:16??SIFT_Yhb?-?備份1\affinity.m

?????文件????????925??2018-04-05?23:50??SIFT_Yhb?-?備份1\affinity1.m

?????文件????????479??2018-04-05?10:24??SIFT_Yhb?-?備份1\appendimages.m

?????文件???????1110??2018-03-31?16:03??SIFT_Yhb?-?備份1\buildDogpyr.m

?????文件???????1398??2018-03-30?22:11??SIFT_Yhb?-?備份1\buildgausspyr.m

?????文件???????4178??2018-04-04?11:24??SIFT_Yhb?-?備份1\calcDescriptors.m

?????文件???????2575??2018-04-06?08:49??SIFT_Yhb?-?備份1\Define.m

?????文件?????104330??2018-04-06?10:32??SIFT_Yhb?-?備份1\DIPbook1.png

?????文件?????104810??2018-04-06?10:35??SIFT_Yhb?-?備份1\DIPbook2.png

?????文件????3362562??2018-04-06?10:50??SIFT_Yhb?-?備份1\DIP_放大一倍匹配結果.fig

?????文件???????2956??2018-04-01?20:13??SIFT_Yhb?-?備份1\findExtrma.m

?????文件???????1300??2018-04-06?00:13??SIFT_Yhb?-?備份1\lins.m

?????文件???????1749??2018-04-06?10:37??SIFT_Yhb?-?備份1\match_yhb.m

?????文件??????35923??2018-04-01?21:16??SIFT_Yhb?-?備份1\matrix.png

?????文件???????2212??2018-04-01?17:14??SIFT_Yhb?-?備份1\oritHist.m

?????文件???????1226??2018-04-05?11:10??SIFT_Yhb?-?備份1\SIFT_yhb.m

?????文件????????903??2018-03-30?08:50??SIFT_Yhb?-?備份1\sigma_num.m

?????文件??????79769??2018-04-06?11:04??SIFT_Yhb?-?備份1\人工查看正確率.png

?????文件???????1714??2018-04-06?11:57??SIFT_Yhb?-?備份1\綜述.txt

?????目錄??????????0??2018-04-06?11:59??SIFT_Yhb?-?備份1

-----------?---------??----------?-----??----

??????????????3714744????????????????????21


評論

共有 條評論

相關資源