需要建议来绕过 5 个带有刺耳噪音的字母数字验证码 bg

问题描述 投票:0回答:1

我目前正在尝试使用 Tesseract v5.5 模型来绕过这种验证码,但我没有成功。

enter image description here

在图像中,我们识别出验证码“w5779”,但在我使用 Tesseract 得到的最佳结果中,我只得到“w-”结果。

我尝试了几种基于图像处理技术的不同方法,以最大限度地减少刮擦噪音,但它们不起作用。以下是我尝试过的一些技术:

captcha_image = Image.open(captcha_image_path)
captcha_image_cv = np.array(captcha_image)
gray_image = cv2.cvtColor(captcha_image_cv, cv2.COLOR_BGR2GRAY)
threshold_image = cv2.adaptiveThreshold(gray_image, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, 
                                           cv2.THRESH_BINARY_INV, 11, 2)
denoised_image = cv2.medianBlur(threshold_image, 3)
dilated_image = cv2.dilate(denoised_image, None, iterations=1)
processed_image = Image.fromarray(dilated_image)
captcha_text = pytesseract.image_to_string(processed_image, config="--psm 8")

有什么建议或其他工具推荐来绕过这种验证码吗?

Obs:这仅用于学习,因此我会尽量避免使用付费解决方案来解决验证码(如 2captcha 等)。

python tesseract captcha
1个回答
0
投票

您无法使用 OCR 引擎解决验证码。 Tesseract 用于从图像中获取文本,图像越好,结果就越好。验证码是随机生成的字母和/或数字序列,显示为扭曲的图像。
您可以尝试使用机器学习,但它并不总是有效。 Python 中有这个项目机器学习验证码求解器

© www.soinside.com 2019 - 2024. All rights reserved.