-
Notifications
You must be signed in to change notification settings - Fork 1
/
getTemporalScore.m
31 lines (31 loc) · 1.05 KB
/
getTemporalScore.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
function score = getTemporalScore(ref, dis, scale)
[hei, wid] = size(ref);
if (mod(hei, 2) ~= 0)
ref = ref(1:hei - 1, :);
dis = dis(1:hei - 1, :);
end
if (mod(wid, 2) ~= 0)
ref = ref(:, 1:wid - 1);
dis = dis(:, 1:wid - 1);
end
score_ori = method_2D(ref, dis);
[~, ref_gd] = imgradient(ref);
[~, dis_gd] = imgradient(dis);
ref_rm = FGr(ref)
dis_rm = FGr(dis)
score_grad = [method_2D(ref_rm, dis_rm), method_2D(ref_gd, dis_gd)];
dim = 2;
win = 5;
score = zeros(1, dim * scale);
for index_scale = 1:scale
ref_gauss = getGaussMap(ref, win);
dis_gauss = getGaussMap(dis, win);
score(1 + (index_scale - 1) * dim) = method_2D(ref_gauss, dis_gauss);
ref_gausspyr = imresize(ref_gauss, 0.5);
dis_gausspyr = imresize(dis_gauss, 0.5);
ref_laplace = ref_gauss - imresize(ref_gausspyr, 2);
dis_laplace = dis_gauss - imresize(dis_gausspyr, 2);
score(2 + (index_scale - 1) * dim) = method_2D(ref_laplace, dis_laplace);
end
score = [score_ori, score_grad, score];
end