From 25e3826852c0d85163ca22a2a281abe372a5a61b Mon Sep 17 00:00:00 2001 From: luzhisheng Date: Mon, 26 Jun 2023 00:08:42 +0800 Subject: [PATCH] =?UTF-8?q?=E7=8C=BF=E4=BA=BA=E5=AD=A6=E7=AC=AC8=E9=A2=98-?= =?UTF-8?q?=E9=AA=8C=E8=AF=81=E7=A0=81=E5=9B=BE=E6=96=87=E7=82=B9=E9=80=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../猿人学第8题-验证码图文点选/gan_rao_xian.py | 18 +++++++++++++++++- .../猿人学第8题-验证码图文点选/img/1-test.png | Bin 27854 -> 0 bytes 2 files changed, 17 insertions(+), 1 deletion(-) delete mode 100644 猿人学Web端爬虫攻防刷题平台/猿人学第8题-验证码图文点选/img/1-test.png diff --git a/猿人学Web端爬虫攻防刷题平台/猿人学第8题-验证码图文点选/gan_rao_xian.py b/猿人学Web端爬虫攻防刷题平台/猿人学第8题-验证码图文点选/gan_rao_xian.py index 4467293..7a2508d 100644 --- a/猿人学Web端爬虫攻防刷题平台/猿人学第8题-验证码图文点选/gan_rao_xian.py +++ b/猿人学Web端爬虫攻防刷题平台/猿人学第8题-验证码图文点选/gan_rao_xian.py @@ -1,5 +1,6 @@ from PIL import Image import numpy as np +import ddddocr import cv2 @@ -58,7 +59,6 @@ def interference(img_file): g = line[1] b = line[2] if not (r == 255 and g == 255 and b == 255): - print(r, g, b) turn_white(img, r, g, b) return img @@ -79,6 +79,18 @@ def binary(img_file, standard=205): def enhance(img_file): """增强字体显示效果""" + img = cv2.imread(img_file, 0) + kernel = np.ones((2, 3), 'uint8') + img = cv2.erode(img, kernel, iterations=2) + return img + + +def ocr(img_file): + ocr = ddddocr.DdddOcr() + with open(img_file, 'rb') as f: + image = f.read() + res = ocr.classification(image) + return res def run(): @@ -88,6 +100,10 @@ def run(): image_b.save('./img/2-test.png') image_c = binary('./img/2-test.png') image_c.save('./img/3-test.png') + image_d = enhance('./img/3-test.png') + cv2.imwrite('./img/4-test.png', image_d) + res = ocr('./img/4-test.png') + print(res) if __name__ == '__main__': diff --git a/猿人学Web端爬虫攻防刷题平台/猿人学第8题-验证码图文点选/img/1-test.png b/猿人学Web端爬虫攻防刷题平台/猿人学第8题-验证码图文点选/img/1-test.png deleted file mode 100644 index 68ae1172b51342e9995e35c69c87cb7584acefb3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27854 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