2017-07-29 22 views
2

我使用的兩個掌紋圖像中提取匹配的特徵兩個向量:得分兩個向量的提取哈里斯MATLAB

I1 = imread('PolyU_001_F_08.bmp'); 
I2 = imread('PolyU_001_F_01.bmp'); 
points1 = detectHarrisFeatures(I1); 
points2 = detectHarrisFeatures(I2); 
[features1,valid_points1] = extractFeatures(I1,points1); 
[features2,valid_points2] = extractFeatures(I2,points2); 
indexPairs = matchFeatures(features1,features2); 
matchedPoints1 = valid_points1(indexPairs(:,1),:); 
matchedPoints2 = valid_points2(indexPairs(:,2),:); 

我怎麼可能有相似的兩個向量,所以我可以決定基於以下兩者之間的最終得分如果匹配或不匹配,則爲閾值。

回答

0

匹配您需要申請(使用RANSAC或MSAC)一些轉型模式,這會給你質量的度量功能之後:

[tform,inlierPtsDistorted,inlierPtsOriginal] = estimateGeometricTransform(matchedPoints1,matchedPoints2,'similarity'); 
xoffset=tform.T(3,1); 
yoffset=tform.T(3,2); 
+0

有沒有辦法找到的距離範圍或做我必須循環數據庫的所有圖像? – ketimaBU

+0

您必須提供有關該問題的更多詳細信息。什麼距離的範圍? –

+0

我的意思是我想知道兩個向量之間的距離的最小值和最大值,所以我可以選擇一個閾值來繪製ROC曲線。對於指紋(基於細節),例如相似性範圍的分數在0和1之間,所以問題很容易,但是在距離相關中,我使用不同的方法提取特徵(pca,dct BNP,cont code ..等等)每次的距離都不一樣,對不起,因爲這是我的一個新課題。謝謝 – ketimaBU