summaryrefslogtreecommitdiffstats
path: root/SD-VBS/common/toolbox/lagrcv/test/test_lk_disp.m
blob: 2d55fe3cd2f0104963be799efaf1325ca386091d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
addpath /u/ikkjin/Matlab/Toolbox/lagrcv

%Iprev=imread('/Projects/LAGR/logs/Test5/left_APIrun530-1/l24Aug05-abacination-1124876208.403311.ppm');
%Icur=imread('/Projects/LAGR/logs/Test5/left_APIrun530-1/l24Aug05-abacination-1124876208.670013.ppm');
Iprev=imread('img0.ppm');
Icur=imread('img1.ppm');

Iprev=rgb2gray(Iprev);
Icur=rgb2gray(Icur);

tic
 [ features numvalid ] = goodFeaturesToTrack(Iprev, 0.3, 10);
toc
subplot(1,2,1);imshow(Iprev)
hold on
scatter(features(2,:),features(1,:),'r')

Ipyr=getPyramid(Iprev, 3);
Jpyr=getPyramid(Icur, 3);
tic
[dxPyr2 dyPyr2]=calcGradientPyrMex(Ipyr,3);
toc
tic
[dxPyr dyPyr]=calcSobelPyrMex(Ipyr,3);
toc

features=features(:,1:211);
for i=20
 features2=[features(2,:); features(1,:)];
tic
 [ newpoints status pyr1 ] = calcOpticalFlowPyrLK(Iprev,Icur,features, i);    
toc
tic
 [newpoints2 status]=calcOptFlowLKPyrMex(Ipyr, dxPyr, dyPyr, Jpyr, double(features2), 4, 0.03, i); 
toc
 newpoints2=[newpoints2(2,:); newpoints2(1,:)];
features_out=features(:,find(status));
newpoints=newpoints(:,find(status));
newpoints2=newpoints2(:,find(status));
subplot(1,2,1);imshow(Iprev);hold on
quiver(features_out(2,:),features_out(1,:), newpoints(2,:)-features_out(2,:), newpoints(1,:)-features_out(1,:),0,'r');hold off
subplot(1,2,2);imshow(Iprev);hold on
quiver(features_out(2,:),features_out(1,:), newpoints2(2,:)-features_out(2,:), newpoints2(1,:)-features_out(1,:),0,'r');hold off
%subplot(1,2,2);imshow(Icur);hold on
%scatter(newpoints2(2,:),newpoints2(1,:),'r');hold off
%sum(sum((newpoints-newpoints2).^2))

pause
end