how do I solve matlab feature mismatching problem?

1 次查看(过去 30 天)
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');

回答(2 个)

Anand
Anand 2014-6-17
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 2014-6-12
Try using detectSURFFeatures() instead of corner().

类别

Help CenterFile Exchange 中查找有关 Feature Detection and Extraction 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by