Spaces:
Running
Running
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 | |