from analysis_result.tools_analysis import select_bbox_by_labels, iou_result_two def same_model_img_analysis_labels(example_list, result_dicts_list, relevancy, relevancy_para): ''' example_list: 需要关联处理的目标标签集合 result_dicts_list: 当前图片检测结果,格式为[{labels1:result1},{labels2:result2},{labels2:result2}...] ''' # 获得当前结果的标签集 result_labels_list = [list(re.keys())[0] for re in result_dicts_list] # print('result_labels_list:',result_labels_list) # 判断是否存在example_list中的所有标签 continue_para = False compara_labellist = [ label for label in example_list if label not in result_labels_list] if compara_labellist: return continue_para else: result_dicts_list_change = select_bbox_by_labels( example_list, result_dicts_list) if relevancy == 'overlap': if len(example_list) == 2: overlap_list = iou_result_two( result_dicts_list_change, relevancy_para) return overlap_list if relevancy == 'in_bbox': pass def model_labels_selet(example_list, result_dict_list): ''' 直接从result中获得目标列表 ''' compara_labellist = [result_dict for result_dict in result_dict_list if list( result_dict.keys())[0] in example_list] return compara_labellist