65 lines
1.8 KiB
Mathematica
65 lines
1.8 KiB
Mathematica
|
|
path_rec = "xxx"; % rectified image path
|
||
|
|
path_scan = './scan/'; % scan image path
|
||
|
|
label_path = './layout/'; % layout result path
|
||
|
|
|
||
|
|
tarea = 598400;
|
||
|
|
ms1 = 0;
|
||
|
|
ld1 = 0;
|
||
|
|
lid1 = 0;
|
||
|
|
ms2 = 0;
|
||
|
|
ld2 = 0;
|
||
|
|
lid2 = 0;
|
||
|
|
wv = 0;
|
||
|
|
wh = 0;
|
||
|
|
|
||
|
|
sprintf(path_rec)
|
||
|
|
for i=1:65
|
||
|
|
path_rec_1 = sprintf("%s%d%s", path_rec, i, '_1 copy_rec.png'); % rectified image path
|
||
|
|
path_rec_2 = sprintf("%s%d%s", path_rec, i, '_2 copy_rec.png'); % rectified image path
|
||
|
|
path_scan_new = sprintf("%s%d%s", path_scan, i, '.png'); % corresponding scan image path
|
||
|
|
bbox_i_path = sprintf("%s%d%s", label_path, i, '.txt'); % corresponding layout txt path
|
||
|
|
|
||
|
|
% imread and rgb2gray
|
||
|
|
A1 = imread(path_rec_1);
|
||
|
|
A2 = imread(path_rec_2);
|
||
|
|
|
||
|
|
% if i == 64
|
||
|
|
% A1 = rot90(A1,-2);
|
||
|
|
% A2 = rot90(A2,-2);
|
||
|
|
% end
|
||
|
|
|
||
|
|
ref = imread(path_scan_new);
|
||
|
|
A1 = rgb2gray(A1);
|
||
|
|
A2 = rgb2gray(A2);
|
||
|
|
ref = rgb2gray(ref);
|
||
|
|
bbox_i = read_txt(bbox_i_path);
|
||
|
|
bbox_i = bbox_i + 1; % python index starts from 0
|
||
|
|
|
||
|
|
% resize
|
||
|
|
b = sqrt(tarea/size(ref,1)/size(ref,2));
|
||
|
|
ref = imresize(ref,b);
|
||
|
|
A1 = imresize(A1,[size(ref,1),size(ref,2)]);
|
||
|
|
A2 = imresize(A2,[size(ref,1),size(ref,2)]);
|
||
|
|
scaled_bbox_i = bbox_i * b * 0.5;
|
||
|
|
scaled_bbox_i = round(scaled_bbox_i);
|
||
|
|
scaled_bbox_i = max(scaled_bbox_i, 1);
|
||
|
|
|
||
|
|
% calculate
|
||
|
|
[ms_1, ld_1, lid_1, W_v_1, W_h_1] = evalUnwarp(A1, ref, scaled_bbox_i);
|
||
|
|
[ms_2, ld_2, lid_2, W_v_2, W_h_2] = evalUnwarp(A2, ref, scaled_bbox_i);
|
||
|
|
ms1 = ms1 + ms_1;
|
||
|
|
ms2 = ms2 + ms_2;
|
||
|
|
ld1 = ld1 + ld_1;
|
||
|
|
ld2 = ld2 + ld_2;
|
||
|
|
lid1 = lid1 + lid_1;
|
||
|
|
lid2 = lid2 + lid_2;
|
||
|
|
wv = wv + W_v_1 + W_v_2;
|
||
|
|
wh = wh + W_h_1 + W_h_2;
|
||
|
|
end
|
||
|
|
|
||
|
|
ms = (ms1 + ms2) / 130 % MS-SSIM
|
||
|
|
ld = (ld1 + ld2) / 130 % local distortion
|
||
|
|
li_d = (lid1 + lid2) / 130 % line distortion
|
||
|
|
wv = wv / 130 % wv index
|
||
|
|
wh = wh / 130 % wh index
|