how do I solve matlab feature mismatching problem?

1 view (last 30 days)
I am tring to match points on an object with two different view of it.Firstly I used minimum eigenvalu to find points and the results are below;
When I try to match two image the results are mismatch.
I couldn't find the reason.Could you help me to solve this problem?
My code;
I1 = rgb2gray(imread('IMG_1046.jpg')); C1 = corner(I1,'MinimumEigenvalue',800,'FilterCoefficients',fspecial('gaussian',[31 1],0.000000000000000009));
I2 = rgb2gray(imread('IMG_1048.jpg')); C2 =corner(I2,'MinimumEigenvalue',800,'FilterCoefficients',fspecial('gaussian',[51 1],0.000000000000009)); % imshow(I1); % hold on % plot(C1(:,1), C1(:,2), 'r.') imshow(I2); hold on plot(C2(:,1), C2(:,2), 'r.') [features1, valid_points1] = extractFeatures(I1, C1);
[features2, valid_points2] = extractFeatures(I2, C2);
indexPairs = matchFeatures(features1, features2); matched_points2 = valid_points2(indexPairs(:, 2), :); matched_points1 = valid_points1(indexPairs(:, 1), :); figure; showMatchedFeatures(I1, I2,matched_points1, matched_points2,'montage');

Answers (2)

Anand
Anand on 17 Jun 2014
Take a look at the examples on this page. Part of the workflow described is feature matching:
Also, here's a ready reference of the kinds of features detectors and descriptors available:

Dima Lisin
Dima Lisin on 12 Jun 2014
Try using detectSURFFeatures() instead of corner().

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!