diff --git a/test_photo_mask_optimization.py b/test_photo_mask_optimization.py new file mode 100644 index 0000000..632e0d7 --- /dev/null +++ b/test_photo_mask_optimization.py @@ -0,0 +1,45 @@ +import cv2 + +from db import MysqlSession +from db.mysql import ZxIeOcrerror +from photo_mask.photo_mask import handle_image_for_mask, get_mask_layout +from ucloud import ucloud +from util import image_util + +if __name__ == '__main__': + session = MysqlSession() + ocr_errors = (session.query(ZxIeOcrerror.pk_phrec, ZxIeOcrerror.cXm, ZxIeOcrerror.cSfzh, ZxIeOcrerror.cfjaddress) + .filter(ZxIeOcrerror.checktime.is_(None)).order_by(ZxIeOcrerror.pk_phrec.desc()).limit(50).all()) + session.close() + + for ocr_error in ocr_errors: + final_img_url = ucloud.get_private_url(ocr_error.cfjaddress, "drg100") + final_image = image_util.read(final_img_url) + cv2.imwrite(f"./mask_optimization_result/answer/{ocr_error.cfjaddress}.jpg", final_image) + img_url = ucloud.get_private_url(ocr_error.cfjaddress, "drg2015") + if not img_url: + # 没有自动涂抹的图片 + img_url = ucloud.get_private_url(ocr_error.cfjaddress, "drg103") + name = ocr_error.cXm + id_card_num = ocr_error.cSfzh + + image = image_util.read(img_url) + # image = image_util.rotate(image, 90) + 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])), + (0, 0, 0), -1, 0) + cv2.imwrite(f"./mask_optimization_result/{ocr_error.cfjaddress}.jpg", image)