(image_list, result, labels, output_dir='output/', threshold=0.5)
| 1143 | |
| 1144 | |
| 1145 | def visualize(image_list, result, labels, output_dir='output/', threshold=0.5): |
| 1146 | # visualize the predict result |
| 1147 | if 'lanes' in result: |
| 1148 | print(image_list) |
| 1149 | for idx, image_file in enumerate(image_list): |
| 1150 | lanes = result['lanes'][idx] |
| 1151 | img = cv2.imread(image_file) |
| 1152 | out_file = os.path.join(output_dir, os.path.basename(image_file)) |
| 1153 | # hard code |
| 1154 | lanes = [lane.to_array([], ) for lane in lanes] |
| 1155 | imshow_lanes(img, lanes, out_file=out_file) |
| 1156 | return |
| 1157 | start_idx = 0 |
| 1158 | for idx, image_file in enumerate(image_list): |
| 1159 | im_bboxes_num = result['boxes_num'][idx] |
| 1160 | im_results = {} |
| 1161 | if 'boxes' in result: |
| 1162 | im_results['boxes'] = result['boxes'][start_idx:start_idx + |
| 1163 | im_bboxes_num, :] |
| 1164 | if 'masks' in result: |
| 1165 | im_results['masks'] = result['masks'][start_idx:start_idx + |
| 1166 | im_bboxes_num, :] |
| 1167 | if 'segm' in result: |
| 1168 | im_results['segm'] = result['segm'][start_idx:start_idx + |
| 1169 | im_bboxes_num, :] |
| 1170 | if 'label' in result: |
| 1171 | im_results['label'] = result['label'][start_idx:start_idx + |
| 1172 | im_bboxes_num] |
| 1173 | if 'score' in result: |
| 1174 | im_results['score'] = result['score'][start_idx:start_idx + |
| 1175 | im_bboxes_num] |
| 1176 | |
| 1177 | start_idx += im_bboxes_num |
| 1178 | im = visualize_box_mask( |
| 1179 | image_file, im_results, labels, threshold=threshold) |
| 1180 | img_name = os.path.split(image_file)[-1] |
| 1181 | if not os.path.exists(output_dir): |
| 1182 | os.makedirs(output_dir) |
| 1183 | out_path = os.path.join(output_dir, img_name) |
| 1184 | im.save(out_path, quality=95) |
| 1185 | print("save result to: " + out_path) |
| 1186 | |
| 1187 | |
| 1188 | def print_arguments(args): |
no test coverage detected