2017-07-29 84 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