how do I solve matlab feature mismatching problem?

1 visualizzazione (ultimi 30 giorni)
lutfiye
lutfiye il 8 Giu 2014
Risposto: Anand il 17 Giu 2014
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');

Risposte (2)

Anand
Anand il 17 Giu 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 il 12 Giu 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!

Translated by