www.gusucode.com > vision 源码程序 matlab案例代码 > vision/FindPointTracksAcrossASequenceOfImagesExample.m

    %% Find Point Tracks Across Sequence of Images
%
% Load images.
imageDir = fullfile(toolboxdir('vision'),'visiondata','structureFromMotion');
images = imageSet(imageDir);
%%
% Compute features for the first image.
I = rgb2gray(read(images, 1));
pointsPrev = detectSURFFeatures(I);
[featuresPrev,pointsPrev] = extractFeatures(I,pointsPrev);
%%
% Create a |viewSet| object.
vSet = viewSet;
vSet = addView(vSet,1,'Points',pointsPrev);
%%
% Compute features and matches for the rest of the images.
for i = 2:images.Count
 I = rgb2gray(read(images,i));
 points = detectSURFFeatures(I);
 [features, points] = extractFeatures(I,points);
 vSet = addView(vSet,i,'Points',points);
 pairsIdx = matchFeatures(featuresPrev,features);
 vSet = addConnection(vSet,i-1,i,'Matches',pairsIdx);
 featuresPrev = features;
end
%%
% Find point tracks.
tracks = findTracks(vSet);