cc3a4534 by 周伟奇

add img path

1 parent 03d5853c
...@@ -1448,4 +1448,6 @@ SE_SECOND_ID_FIELD_MAPPING = { ...@@ -1448,4 +1448,6 @@ SE_SECOND_ID_FIELD_MAPPING = {
1448 1448
1449 HEAD_LIST = ['Info', 'Index', 'License', 'Field', 'Input', 'OCR', 'Result', 'Position', 'Image', 'errorType'] 1449 HEAD_LIST = ['Info', 'Index', 'License', 'Field', 'Input', 'OCR', 'Result', 'Position', 'Image', 'errorType']
1450 1450
1451 IMG_PATH_KEY = 'uniq_img_path_key'
1452
1451 1453
......
...@@ -221,10 +221,12 @@ class Command(BaseCommand, LoggerMixin): ...@@ -221,10 +221,12 @@ class Command(BaseCommand, LoggerMixin):
221 dda_ocr_result = {key: value.get('words', '') for key, value in license_data.get('result', {}).items()} 221 dda_ocr_result = {key: value.get('words', '') for key, value in license_data.get('result', {}).items()}
222 dda_ocr_result[consts.DDA_IMG_PATH] = img_path 222 dda_ocr_result[consts.DDA_IMG_PATH] = img_path
223 dda_ocr_result[consts.DDA_PRO] = pro 223 dda_ocr_result[consts.DDA_PRO] = pro
224 dda_ocr_result[consts.IMG_PATH_KEY] = img_path
224 license_summary.setdefault(classify, []).append(dda_ocr_result) 225 license_summary.setdefault(classify, []).append(dda_ocr_result)
225 226
226 elif classify == consts.MVC_CLASSIFY: # 车辆登记证 3/4页结果整合 227 elif classify == consts.MVC_CLASSIFY: # 车辆登记证 3/4页结果整合
227 for mvc_dict in license_data: 228 for mvc_dict in license_data:
229 mvc_dict[consts.IMG_PATH_KEY] = img_path
228 try: 230 try:
229 mvc_page = mvc_dict.pop('page') 231 mvc_page = mvc_dict.pop('page')
230 except Exception as e: 232 except Exception as e:
...@@ -242,6 +244,7 @@ class Command(BaseCommand, LoggerMixin): ...@@ -242,6 +244,7 @@ class Command(BaseCommand, LoggerMixin):
242 244
243 elif classify == consts.IC_CLASSIFY: # 身份证真伪 245 elif classify == consts.IC_CLASSIFY: # 身份证真伪
244 for id_card_dict in license_data: 246 for id_card_dict in license_data:
247 id_card_dict[consts.IMG_PATH_KEY] = img_path
245 try: 248 try:
246 base64_img = id_card_dict.pop('base64_img') 249 base64_img = id_card_dict.pop('base64_img')
247 except Exception as e: 250 except Exception as e:
...@@ -294,6 +297,8 @@ class Command(BaseCommand, LoggerMixin): ...@@ -294,6 +297,8 @@ class Command(BaseCommand, LoggerMixin):
294 dda_id_bc_mapping.setdefault(consts.IC_FIELD, []).append((ic_name, ic_id, img_path)) 297 dda_id_bc_mapping.setdefault(consts.IC_FIELD, []).append((ic_name, ic_id, img_path))
295 license_summary.setdefault(classify, []).extend(license_data) 298 license_summary.setdefault(classify, []).extend(license_data)
296 else: 299 else:
300 for res_dict in license_data:
301 res_dict[consts.IMG_PATH_KEY] = img_path
297 license_summary.setdefault(classify, []).extend(license_data) 302 license_summary.setdefault(classify, []).extend(license_data)
298 res_list.append((pno, ino, part_idx, consts.RES_SUCCESS)) 303 res_list.append((pno, ino, part_idx, consts.RES_SUCCESS))
299 304
...@@ -305,6 +310,7 @@ class Command(BaseCommand, LoggerMixin): ...@@ -305,6 +310,7 @@ class Command(BaseCommand, LoggerMixin):
305 # res_dict = {} 310 # res_dict = {}
306 # for en_key, chn_key in consts.BC_FIELD: 311 # for en_key, chn_key in consts.BC_FIELD:
307 # res_dict[chn_key] = ocr_res_2.get(en_key, '') 312 # res_dict[chn_key] = ocr_res_2.get(en_key, '')
313 ocr_res_2[consts.IMG_PATH_KEY] = img_path
308 license_summary.setdefault(classify, []).append(ocr_res_2) 314 license_summary.setdefault(classify, []).append(ocr_res_2)
309 if do_dda and isinstance(ocr_res_2.get(consts.BC_KEY_FIELD), str): 315 if do_dda and isinstance(ocr_res_2.get(consts.BC_KEY_FIELD), str):
310 bc_no = ocr_res_2[consts.BC_KEY_FIELD].strip() 316 bc_no = ocr_res_2[consts.BC_KEY_FIELD].strip()
...@@ -316,6 +322,7 @@ class Command(BaseCommand, LoggerMixin): ...@@ -316,6 +322,7 @@ class Command(BaseCommand, LoggerMixin):
316 res_dict = {} 322 res_dict = {}
317 for field_dict in result_dict.get('FieldList', []): 323 for field_dict in result_dict.get('FieldList', []):
318 res_dict[field_dict.get('chn_key', '')] = field_dict.get('value', '') 324 res_dict[field_dict.get('chn_key', '')] = field_dict.get('value', '')
325 res_dict[consts.IMG_PATH_KEY] = img_path
319 license_summary.setdefault(classify, []).append(res_dict) 326 license_summary.setdefault(classify, []).append(res_dict)
320 else: 327 else:
321 res_list.append((pno, ino, part_idx, consts.RES_FAILED_2)) 328 res_list.append((pno, ino, part_idx, consts.RES_FAILED_2))
...@@ -922,8 +929,8 @@ class Command(BaseCommand, LoggerMixin): ...@@ -922,8 +929,8 @@ class Command(BaseCommand, LoggerMixin):
922 # self.bs_log.info('[task={0}] [bs_summary={1}]'.format(task_str, merged_bs_summary)) 929 # self.bs_log.info('[task={0}] [bs_summary={1}]'.format(task_str, merged_bs_summary))
923 930
924 self.online_log.info('{0} [task={1}] [merged_bs_summary={2}] [license_summary={3}] ' 931 self.online_log.info('{0} [task={1}] [merged_bs_summary={2}] [license_summary={3}] '
925 '[res_list={4}]'.format(self.log_base, task_str, merged_bs_summary, 932 '[res_list={4}]'.format(self.log_base, task_str, merged_bs_summary,
926 license_summary, res_list)) 933 license_summary, res_list))
927 934
928 except Exception as e: 935 except Exception as e:
929 936
...@@ -1023,7 +1030,7 @@ class Command(BaseCommand, LoggerMixin): ...@@ -1023,7 +1030,7 @@ class Command(BaseCommand, LoggerMixin):
1023 license_list = license_summary.get(classify) 1030 license_list = license_summary.get(classify)
1024 if not license_list: 1031 if not license_list:
1025 continue 1032 continue
1026 if classify == consts.IC_CLASSIFY and ic_merge: 1033 if classify == consts.IC_CLASSIFY and ic_merge: # TODO 正反面合并时的img_path处理
1027 license_list[0].update(license_list[1]) 1034 license_list[0].update(license_list[1])
1028 license_list.pop(1) 1035 license_list.pop(1)
1029 elif classify == consts.RP_CLASSIFY and rp_merge: 1036 elif classify == consts.RP_CLASSIFY and rp_merge:
......
...@@ -671,12 +671,13 @@ def se_compare_license(license_en, ocr_res_dict, field_list): ...@@ -671,12 +671,13 @@ def se_compare_license(license_en, ocr_res_dict, field_list):
671 result = expiry_date_res 671 result = expiry_date_res
672 break 672 break
673 673
674 img_path = ocr_res_list[res_idx].get(consts.IMG_PATH_KEY, '') if result == consts.RESULT_N else empty_str
674 error_type = empty_str if result == consts.RESULT_Y else ErrorType.OCR.value 675 error_type = empty_str if result == consts.RESULT_Y else ErrorType.OCR.value
675 result_field_list.append((name, value, result, ocr_str, error_type)) 676 result_field_list.append((name, value, result, ocr_str, img_path, error_type))
676 677
677 if not is_find: 678 if not is_find:
678 for name, value in field_list: 679 for name, value in field_list:
679 result_field_list.append((name, value, consts.RESULT_N, empty_str, ErrorType.NF.value)) 680 result_field_list.append((name, value, consts.RESULT_N, empty_str, empty_str, ErrorType.NF.value))
680 681
681 return result_field_list 682 return result_field_list
682 683
...@@ -696,6 +697,7 @@ def se_mvc34_compare(license_en, ocr_res_dict, field_list): ...@@ -696,6 +697,7 @@ def se_mvc34_compare(license_en, ocr_res_dict, field_list):
696 first_res = None 697 first_res = None
697 for res_idx in range(length-1, -1, -1): 698 for res_idx in range(length-1, -1, -1):
698 if consts.TRANSFER_DATE in ocr_res_list[res_idx]: 699 if consts.TRANSFER_DATE in ocr_res_list[res_idx]:
700 img_path = ocr_res_list[res_idx].get(consts.IMG_PATH_KEY, '')
699 for idx, transfer_date in enumerate(ocr_res_list[res_idx].get(consts.TRANSFER_DATE, [])): 701 for idx, transfer_date in enumerate(ocr_res_list[res_idx].get(consts.TRANSFER_DATE, [])):
700 try: 702 try:
701 transfer_name = ocr_res_list[res_idx].get(consts.TRANSFER_NAME, [])[idx] 703 transfer_name = ocr_res_list[res_idx].get(consts.TRANSFER_NAME, [])[idx]
...@@ -708,7 +710,8 @@ def se_mvc34_compare(license_en, ocr_res_dict, field_list): ...@@ -708,7 +710,8 @@ def se_mvc34_compare(license_en, ocr_res_dict, field_list):
708 core_info = { 710 core_info = {
709 consts.TRANSFER_NAME: transfer_name, 711 consts.TRANSFER_NAME: transfer_name,
710 consts.TRANSFER_NUM: transfer_num, 712 consts.TRANSFER_NUM: transfer_num,
711 consts.TRANSFER_DATE: transfer_date 713 consts.TRANSFER_DATE: transfer_date,
714 consts.IMG_PATH_KEY: img_path,
712 } 715 }
713 page34_date_dict.setdefault(transfer_date, []).append(core_info) 716 page34_date_dict.setdefault(transfer_date, []).append(core_info)
714 if first_res is None: 717 if first_res is None:
...@@ -734,12 +737,13 @@ def se_mvc34_compare(license_en, ocr_res_dict, field_list): ...@@ -734,12 +737,13 @@ def se_mvc34_compare(license_en, ocr_res_dict, field_list):
734 ocr_str = empty_str 737 ocr_str = empty_str
735 else: 738 else:
736 result = getattr(cp, compare_logic[name][1])(value, ocr_str, **compare_logic[name][2]) 739 result = getattr(cp, compare_logic[name][1])(value, ocr_str, **compare_logic[name][2])
740 img_path = ocr_res.get(consts.IMG_PATH_KEY, '') if result == consts.RESULT_N else empty_str
737 error_type = empty_str if result == consts.RESULT_Y else ErrorType.OCR.value 741 error_type = empty_str if result == consts.RESULT_Y else ErrorType.OCR.value
738 result_field_list.append((name, value, result, ocr_str, error_type)) 742 result_field_list.append((name, value, result, ocr_str, img_path, error_type))
739 743
740 if not is_find: 744 if not is_find:
741 for name, value in field_list: 745 for name, value in field_list:
742 result_field_list.append((name, value, consts.RESULT_N, empty_str, ErrorType.NF.value)) 746 result_field_list.append((name, value, consts.RESULT_N, empty_str, empty_str, ErrorType.NF.value))
743 747
744 return result_field_list 748 return result_field_list
745 749
...@@ -762,7 +766,7 @@ def se_compare_process(compare_info, ocr_res_dict): ...@@ -762,7 +766,7 @@ def se_compare_process(compare_info, ocr_res_dict):
762 for license_en, field_list in license_dict.items(): 766 for license_en, field_list in license_dict.items():
763 failure_field = [] 767 failure_field = []
764 result_field_list = se_compare_license(license_en, ocr_res_dict, field_list) 768 result_field_list = se_compare_license(license_en, ocr_res_dict, field_list)
765 for name, value, result, ocr_str, error_type in result_field_list: 769 for name, value, result, ocr_str, img_path, error_type in result_field_list:
766 total_fields += 1 770 total_fields += 1
767 if result == consts.RESULT_N: 771 if result == consts.RESULT_N:
768 failed_count += 1 772 failed_count += 1
...@@ -778,7 +782,7 @@ def se_compare_process(compare_info, ocr_res_dict): ...@@ -778,7 +782,7 @@ def se_compare_process(compare_info, ocr_res_dict):
778 'OCR': ocr_str, 782 'OCR': ocr_str,
779 'Result': result, 783 'Result': result,
780 'Position': empty_str, 784 'Position': empty_str,
781 'Image': empty_str, 785 'Image': img_path,
782 'errorType': error_type, 786 'errorType': error_type,
783 } 787 }
784 ) 788 )
...@@ -790,7 +794,7 @@ def se_compare_process(compare_info, ocr_res_dict): ...@@ -790,7 +794,7 @@ def se_compare_process(compare_info, ocr_res_dict):
790 result_field_list = se_mvc34_compare(license_en, ocr_res_dict, field_list) 794 result_field_list = se_mvc34_compare(license_en, ocr_res_dict, field_list)
791 else: 795 else:
792 result_field_list = se_compare_license(license_en, ocr_res_dict, field_list) 796 result_field_list = se_compare_license(license_en, ocr_res_dict, field_list)
793 for name, value, result, ocr_str, error_type in result_field_list: 797 for name, value, result, ocr_str, img_path, error_type in result_field_list:
794 total_fields += 1 798 total_fields += 1
795 if result == consts.RESULT_N: 799 if result == consts.RESULT_N:
796 failed_count += 1 800 failed_count += 1
...@@ -806,7 +810,7 @@ def se_compare_process(compare_info, ocr_res_dict): ...@@ -806,7 +810,7 @@ def se_compare_process(compare_info, ocr_res_dict):
806 'OCR': ocr_str, 810 'OCR': ocr_str,
807 'Result': result, 811 'Result': result,
808 'Position': empty_str, 812 'Position': empty_str,
809 'Image': empty_str, 813 'Image': img_path,
810 'errorType': error_type, 814 'errorType': error_type,
811 } 815 }
812 ) 816 )
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!