-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathorzHOG.m
More file actions
47 lines (40 loc) · 1.15 KB
/
orzHOG.m
File metadata and controls
47 lines (40 loc) · 1.15 KB
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
function [D] = orzHOG(X,orBin,nCellSize,nBlockSize)
%orzHOG(X,orBin)
% X = imread('Z:\Documents\Manuscripts\2008\CSƒZƒ~ƒi[\2009\Fig\FACE.bmp');
% X = imresize(X, 128/120);
% X=X(:,1:2:end);
% X = double(X)/255;
% X = imread('C:\Users\PuriPuri-S10\Desktop\DC-ped-dataset_base\1\non-ped_examples\img_00000.pgm');
% X = double(X)/255;
nEps = 1e-5;
%nCellSize = 5;
%nBlockSize = 3;
nSH = ceil(size(X,1)/nCellSize);
nSW = ceil(size(X,2)/nCellSize);
nHH = nSH-nBlockSize+1;
nWW = nSW-nBlockSize+1;
G = zeros([size(X),2]);
% Roberts Filter
H = [-1,0,1];
G(:,:,1) = imfilter(X,H,'replicate');
G(:,:,2) = imfilter(X,-H','replicate');
% N: gradient magunititude
N = sqrt(sum(G.^2,3));
% A: gradiennt orientation
A=atan2(G(:,:,2),G(:,:,1))+pi;
A(A > pi) = A(A > pi)-pi;
F = zeros([size(X),orBin]);
BB= linspace(0,pi,orBin+1);
BB = BB(1:orBin) + pi/(2*orBin);
for B=1:orBin
F(:,:,B) = (abs(A-BB(B)) <= pi/(2*orBin)).*N;
end
AAA=orzSubRegion(F,nSH,nSW);
D = zeros(orBin*nBlockSize^2,nHH,nWW);
for I=1:nHH
for J=1:nWW
V = AAA(:,I:I+nBlockSize-1,J:J+nBlockSize-1);
D(:,I,J) = V(:)/norm(V(:)+nEps);
end
end
D=D(:);