2

다음은 어떻게 작동합니까?MSER 기능의 일치 알고리즘?

나는 기능 점수를 MSER 개 찾으려고하고 matchFeatures 기능과 연결합니다.

% file1 = 'roofs1.jpg'; 
% file2 = 'roofs2.jpg'; 

file1 = 'cameraman.tif'; 


I1 = imread(file1); 

%I2 = imread(file2); 
I2 = imrotate(I1, 45); 

% I1 = rgb2gray(I1); 
% I2 = rgb2gray(I2); 

% %Find the SURF features. 
% points1 = detectSURFFeatures(I1); 
% points2 = detectSURFFeatures(I2); 

points1 = detectMSERFeatures(I1); 
points2 = detectMSERFeatures(I2); 

%Extract the features. 
[f1, vpts1] = extractFeatures(I1, points1); 
[f2, vpts2] = extractFeatures(I2, points2); 

%Retrieve the locations of matched points. The SURF featurevectors are already normalized. 
indexPairs = matchFeatures(f1, f2, 'Prenormalized', true) ; 
matched_pts1 = vpts1(indexPairs(:, 1)); 
matched_pts2 = vpts2(indexPairs(:, 2)); 


figure; showMatchedFeatures(I1,I2,matched_pts1,matched_pts2,'montage'); 
legend('matched points 1','matched points 2'); 

은 분명히 그것은

enter image description here

잘 작동하지만 어떻게 할 수 있습니까? MSERRegions에는 줄임표 만 있습니다. 그들은 어떻게 짝을 이룰 수 있습니까? 그것은 분명히 충분한 정보가 아닙니다!

UPDATE

나는 extractFeatures 기능 MSER 점에서 SURF 특징 벡터를 반환하는 것을 발견했다. 따라서 64 차원 SURF 벡터를 비교합니다.

답변

2

이 경우 MSER 영역의 중심은 단순히 SURF 설명자를 추출하기위한 관심 지점으로 사용됩니다. 기본적으로 MSERRegionsextractFeatures에 넣으면 SURF 디스크립터가 다시 나타납니다. 그러나 MSER 영역은 이미지의 텍스트 감지와 같은 다른 작업에 사용될 수 있습니다.

+0

또한 MSER "핵심 사항"에 SURF 설명자를 사용하는 것은 의미가 없습니다. 사실상, SURF가 목표로 삼고있는 descritiveness는 꽤 조잡한 지역에 있기 때문에 그 지점에서 꽤 나쁘다고 가정 할 수 있습니다. – DrPepperJo

+1

나는 동의하지 않을 것이다. MSER 지역은 반드시 질감이없는 콤팩트 블롭이 아닙니다. 이상한 모양의 MSER 영역을 문자 나 숫자와 같이 가질 수 있으며, 가운데에있는 SURF 서술자를 계산하면 특유의 것입니다. – Dima

+0

"아마"여기 키워드입니다. 포인트 기술자 추출을 위해 MSER Loccations를 사용할 시점이 없습니다. – DrPepperJo