From 8eb9255eef0f5a2dbbf5c289f88abf6a64a15030 Mon Sep 17 00:00:00 2001 From: liuyebo <1515783401@qq.com> Date: Thu, 25 Jul 2024 11:07:46 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=A7=93=E5=90=8D=E6=A8=A1?= =?UTF-8?q?=E7=B3=8A=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- photo_mask/photo_mask.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/photo_mask/photo_mask.py b/photo_mask/photo_mask.py index 6657675..8a43e6c 100644 --- a/photo_mask/photo_mask.py +++ b/photo_mask/photo_mask.py @@ -121,6 +121,17 @@ 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 "") + matches = re.findall(r, layout[1]) + for match in matches: + if match in layout[1]: + result += find_boxes(match, layout, improve=True, image_path=temp_file.name) + find_name_by_key = False + break if id_card_num in layout[1]: result += find_boxes(id_card_num, layout, improve=True, image_path=temp_file.name) find_id_card_num_by_key = False