Matlab 比较同一图像时,matchFeatures不匹配所有特征。为什么?

Matlab 比较同一图像时,matchFeatures不匹配所有特征。为什么?,matlab,computer-vision,feature-detection,surf,Matlab,Computer Vision,Feature Detection,Surf,我有一个图像I(灰度)。我从这张图像中检测并提取了冲浪特征: poi = detectSURFFeatures(I); [features,validPoi] = extractFeatures(I,poi,'SURFSize',128); 已发现373个特征。但是,当我计算与其匹配的特征数量时,并非所有特征都匹配: indexPairs = matchFeatures(features,features); 索引对仅返回365个匹配项。为什么?请注意,我发现这三张图片中只有一张是这样的

我有一个图像I(灰度)。我从这张图像中检测并提取了冲浪特征:

poi = detectSURFFeatures(I);  
[features,validPoi] = extractFeatures(I,poi,'SURFSize',128);
已发现373个特征。但是,当我计算与其匹配的特征数量时,并非所有特征都匹配:

indexPairs = matchFeatures(features,features);

索引对仅返回365个匹配项。为什么?请注意,我发现这三张图片中只有一张是这样的。对于其他两个图像,matchFeatures返回与extractFeatures相同数量的特征。谢谢

函数
matchFeatures
具有匹配阈值参数
MatchThreshold
MaxRation
,它们拒绝潜在的错误或不明确的匹配,例如规定找到的最佳匹配必须在某个因素上优于次优匹配


即使图像相同,也可能出现这种情况

谢谢!但这是否会影响基于匹配特征数量的两幅图像之间的相似度计算?目前,我是这样计算的:nbmatch=size(indexPairs,1);minsize=min(尺寸(特征,1));相似性=nbmatch/minsize。这导致图像本身的相似性度量值低于1。@朱利安:当然,因为这个公式中的相似性是匹配特征的百分比。有些匹配,即使来自相同的特征,也可能会被匹配算法拒绝。我认为这是Lowe在其提交SIFT的论文中提出的相似性测量,但我肯定应该重新阅读这篇论文。。。谢谢是的,这是Lowe提出的度量方法。因此,这种相似性度量方法应该有助于目标识别,但可能不适用于我的目的:计算多幅图像之间的视觉相似性矩阵。在这种情况下,我需要在所有图像之间进行相似性度量(因此,对于所有图像对,相似性的理论最大值应该相同)。然后,您会推荐哪种基于SIFT/SURF的测量方法?