forked from PaddlePaddle/PaddleSeg
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvisualize_demo.py
69 lines (60 loc) · 1.93 KB
/
visualize_demo.py
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
import os
import os.path as osp
import argparse
from PIL import Image as Image
from models.utils import visualize as vis
def parse_args():
parser = argparse.ArgumentParser(description='RemoteSensing visualization')
parser.add_argument(
'--data_dir',
dest='data_dir',
help='Dataset directory',
default=None,
type=str)
parser.add_argument(
'--file_list',
dest='file_list',
help='The name of file list that need to be visualized',
default=None,
type=str)
parser.add_argument(
'--pred_dir',
dest='pred_dir',
help='Directory for predict results',
default=None,
type=str)
parser.add_argument(
'--save_dir',
dest='save_dir',
help='Save directory for visual results',
default=None,
type=str)
return parser.parse_args()
args = parse_args()
data_dir = args.data_dir
pred_dir = args.pred_dir
save_dir = args.save_dir
file_list = osp.join(data_dir, args.file_list)
if not osp.exists(save_dir):
os.mkdir(save_dir)
with open(file_list) as f:
lines = f.readlines()
for line in lines:
img_list = []
img_line = line.split(' ')[0]
img_name = osp.basename(img_line).replace('data.tif', 'photo.png')
img_path = osp.join(data_dir, 'data_vis', img_name)
img = Image.open(img_path)
img_list.append(img)
print('visualizing {}'.format(img_path))
gt_line = line.split(' ')[1].rstrip('\n')
gt_path = osp.join(data_dir, gt_line)
gt_pil = Image.open(gt_path)
img_list.append(gt_pil)
pred_name = osp.basename(img_line).replace('tif', 'png')
pred_path = osp.join(pred_dir, pred_name)
pred_pil = Image.open(pred_path)
img_list.append(pred_pil)
save_path = osp.join(save_dir, pred_name)
vis.splice_imgs(img_list, save_path)
print('saved in {}'.format(save_path))