У меня есть изображение I (оттенки серого). Я обнаружил и извлек функции SURF с этого изображения:matchFeatures не соответствует всем функциям при сравнении одного и того же изображения. Зачем?
poi = detectSURFFeatures(I);
[features,validPoi] = extractFeatures(I,poi,'SURFSize',128);
373 функции были найдены. Однако, когда я подсчитываю количество подходящих для себя функций, не все функции соответствуют:
indexPairs = matchFeatures(features,features);
индексные пары возвращают только 365 матчей. Зачем ??? Обратите внимание, что я нашел эти результаты только для одного изображения из трех. Для двух других изображений matchFeatures возвращает одинаковое количество функций, таких как extractFeatures. Благодаря !
Спасибо! Но влияет ли это на подсчет сходства между двумя изображениями на основе количества совпадающих функций? В настоящее время я вычисляю это следующим образом: nbmatch = size (indexPairs, 1); minsize = min (размер (функции, 1)); сходство = nbmatch/minsize. Это приводит к измерению подобия для изображения с самим собой, которое ниже 1. – Julien
@ Жюльен уверен, потому что сходство в этой формулировке представляет собой процент от согласованных признаков. И некоторые совпадения, даже с идентичными функциями, все еще могут быть отклонены алгоритмом сопоставления. – Maurits
Я думал, что это была схожесть, предложенная Лоу в его статье, представляющей SIFT, но я обязательно должен перечитать эту статью ... Спасибо! – Julien