2013-06-19 66 views
0

我是MATLAB新手。我正在使用VL_Feat庫。我試圖構造一個可以計算兩個圖像之間匹配點數量的代碼。到目前爲止,我知道如何匹配兩個圖像。我想得到的是匹配點的數量。使用MATLAB計算兩個圖像之間匹配的次數vl_sift

舉個例子 「圖像1發現X關鍵點」,「在圖像中發現Y鍵點2」 「Z匹配」

誰能幫助我?

im1Path = fullfile(vl_root, 'data', 'roofs1.jpg') ; 
im2Path = fullfile(vl_root, 'data', 'roofs2.jpg') ; 

im1 = imread(im1Path) ; 
im2 = imread(im2Path) ; 


[f1,d1] = vl_sift(im2single(rgb2gray(im1))) ; 
[f2,d2] = vl_sift(im2single(rgb2gray(im2))) ; 

[matches, scores] = vl_ubcmatch(d1,d2) ; 

fprintf(' %d a counts.\n', vl_ubcmatch(d1,d2)); 
+0

這裏你的問題到底是什麼? 'fprintf'語句?或從'vl_ubcmatch'返回的'matches'? – Schorsch

+0

fprintf可能會給你加載和輸出負載。試試'fprintf('%d a counts。\ n',numel(matches));' –

+0

@HughNolan我認爲它有效。謝謝。你能告訴我如何打印每個圖像中的關鍵點數量? 作爲一個例子,「在im1中找到600個關鍵點」,「在im2中找到720個關鍵點」 –

回答

0

據我瞭解,你想找到任何separately.the給出以下聲明不會產生你想要的精確輸出的兩個圖像的關鍵點,但我希望這將幫助你在一定程度上。這也顯示了一些關於重點的重要信息。如果兩個圖像是我& j時,讀出兩個圖像後,你可以添加代碼,這些線 -

I = single(rgb2gray(I)); 
vl_covdet(I, 'verbose'); 
J = single(rgb2gray(J)); 
vl_covdet(J, 'verbose'); 

,然後休息。

相關問題