Я новичок в MATLAB. Я использую библиотеку VL_Feat. Я пытаюсь построить код, который может рассчитать количество совпадающих точек между двумя изображениями. До сих пор я знаю, как совместить два изображения. То, что я хочу получить, - это количество совпадающих точек.рассчитать количество совпадений между двумя изображениями с помощью MATLAB vl_sift
В качестве примера «X ключевых точек, найденных в изображении 1» «Y ключевые точки найдены в изображении 2» «г соответствует»
Может кто-нибудь мне помочь?
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));
В чем проблема? Вывод 'fprintf'? Или возвращенные 'match' из' vl_ubcmatch'? – Schorsch
Это fprintf, вероятно, даст вам нагрузки и нагрузки. Попробуйте вместо этого 'fprintf ('% d a counts. \ N', numel (matches));' –
@HughNolan Я думаю, что это работает. Спасибо. Можете ли вы рассказать мне, как печатать количество ключевых точек в каждом изображении? В качестве примера «600 ключевых точек, найденных в im1», «720 ключевых точек, найденных в im2», –