提高代码复用
This commit is contained in:
@@ -141,6 +141,30 @@ def handle_image_for_mask(split_result):
|
||||
return expand_img, split_result["x_offset"], split_result["y_offset"]
|
||||
|
||||
|
||||
def mask_photo(img_url, name, id_card_num, color=(255, 255, 255)):
|
||||
# 是否涂抹了
|
||||
is_masked = False
|
||||
# 打开图片
|
||||
image = image_util.read(img_url)
|
||||
split_results = image_util.split(image)
|
||||
for split_result in split_results:
|
||||
to_mask_img, x_offset, y_offset = handle_image_for_mask(split_result)
|
||||
results = get_mask_layout(to_mask_img, name, id_card_num)
|
||||
|
||||
if results:
|
||||
is_masked = True
|
||||
|
||||
for result in results:
|
||||
result = (
|
||||
result[0] + x_offset,
|
||||
result[1] + y_offset,
|
||||
result[2] + x_offset,
|
||||
result[3] + y_offset,
|
||||
)
|
||||
cv2.rectangle(image, (int(result[0]), int(result[1])), (int(result[2]), int(result[3])), color, -1, 0)
|
||||
return is_masked, image
|
||||
|
||||
|
||||
def photo_mask(pk_phhd, name, id_card_num):
|
||||
session = MysqlSession()
|
||||
phrecs = session.query(ZxPhrec.cfjaddress).filter(and_(
|
||||
@@ -152,27 +176,8 @@ def photo_mask(pk_phhd, name, id_card_num):
|
||||
img_url = ufile.get_private_url(phrec.cfjaddress)
|
||||
if not img_url:
|
||||
continue
|
||||
# 是否有涂抹
|
||||
is_masked = False
|
||||
# 打开图片
|
||||
image = image_util.read(img_url)
|
||||
split_results = image_util.split(image)
|
||||
for split_result in split_results:
|
||||
to_mask_img, x_offset, y_offset = handle_image_for_mask(split_result)
|
||||
results = get_mask_layout(to_mask_img, name, id_card_num)
|
||||
|
||||
if results:
|
||||
is_masked = True
|
||||
|
||||
for result in results:
|
||||
result = (
|
||||
result[0] + x_offset,
|
||||
result[1] + y_offset,
|
||||
result[2] + x_offset,
|
||||
result[3] + y_offset,
|
||||
)
|
||||
cv2.rectangle(image, (int(result[0]), int(result[1])), (int(result[2]), int(result[3])),
|
||||
(255, 255, 255), -1, 0)
|
||||
is_masked, image = mask_photo(img_url, name, id_card_num)
|
||||
|
||||
# 如果涂抹了要备份以及更新
|
||||
if is_masked:
|
||||
|
||||
Reference in New Issue
Block a user