-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathGetGlobalFeature.m
34 lines (25 loc) · 1.08 KB
/
GetGlobalFeature.m
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
function [GlobalFeature]=GetGlobalFeature(signature,argument)
GlobalFeature.total_time=sum(signature(:,3));
GlobalFeature.point_number=size(signature,1);
GlobalFeature.pen_ups=0;
% figure
% plot(signature(:,1),signature(:,2));
% hold on;
for i=2:size(signature,1)-1
if (signature(i-1,4)~=0 && signature(i+1,4)==0)
GlobalFeature.pen_ups=GlobalFeature.pen_ups+1;
% plot(signature(i,1),signature(i,2),'r*');
end
end
GlobalFeature.direction_change=0;
for i=2:size(signature,1)-1
if ( (signature(i,2)>signature(i-1,2) && signature(i,2)>signature(i+1,2)) || ...
(signature(i,2)<signature(i-1,2) && signature(i,2)<signature(i+1,2)) || ...
(signature(i,1)>signature(i-1,1) && signature(i,1)>signature(i+1,1)) || ...
(signature(i,1)<signature(i-1,1) && signature(i,1)<signature(i+1,1)) )
GlobalFeature.direction_change=GlobalFeature.direction_change+1;
% plot(signature(i,1),signature(i,2),'ro');
end
end
dxy=signature(2:end,1:2)-signature(1:end-1,1:2);
GlobalFeature.total_long=sum((dxy(:,1).^2+dxy(:,2).^2).^0.5);