diff --git a/photo_mask/photo_mask.py b/photo_mask/photo_mask.py index 40e456f..0352c67 100644 --- a/photo_mask/photo_mask.py +++ b/photo_mask/photo_mask.py @@ -113,6 +113,11 @@ def get_mask_layout(image, name, id_card_num): for sc in SIMILAR_CHAR[char]: name_list.append(name.replace(char, sc)) + name_len = len(name) + name_offset = int(name_len / 2) + r = f"{name[:-1]}.?|.?{name[1:]}" + ( + f"|{name[:name_offset]}.{name[-name_offset:]}" if (name_len & 1) == 1 else "") + for layout in layouts: find_name_by_key = True find_id_card_num_by_key = True @@ -121,11 +126,7 @@ def get_mask_layout(image, name, id_card_num): result += find_boxes(name, layout, improve=True, image_path=temp_file.name) find_name_by_key = False break - if find_name_by_key and len(name) > 2: - name_len = len(name) - name_offset = int(name_len / 2) - r = f"{name[:-1]}.?|.?{name[1:]}" + ( - f"|{name[:name_offset]}.{name[-name_offset:]}" if (name_len & 1) == 1 else "") + if find_name_by_key and name_len > 2: matches = re.findall(r, layout[1]) for match in matches: if match in layout[1]: