【Python】简单的Python滑块验证码处理

Python系列


文章目录

  • Python系列
  • 前言
  • 一、技术要点
  • 二、使用步骤
    • 1.引入库
    • 2.构建方法


前言

该代码可解决登录验证的普通滑块验证码验证过程,分享仅为技术探讨。


一、技术要点

cv2.matchTemplate 是OpenCV库中的一个函数,用于在一幅图像中查找与模板图像匹配的部分。

二、使用步骤

1.引入库

代码如下:

import base64
from PIL import Image
from io import BytesIO
import cv2
import os

2.构建方法

代码如下:

def getSliderLocal(b64Background, b64Slider):
    tempAddr = os.getenv('TEMP')
    Image.open(BytesIO(base64.b64decode(b64Background.split(",")[1]))).save(
        os.path.join(tempAddr, 'background.png'))  # type: ignore
    Image.open(BytesIO(base64.b64decode(b64Slider.split(",")[1]))).save(
        os.path.join(tempAddr, 'slider.png'))  # type: ignore
    backgroundPic = cv2.cvtColor(cv2.Canny(cv2.imread(os.path.join(
        tempAddr, 'background.png')), 100, 200), cv2.COLOR_GRAY2BGR)  # type: ignore
    sliderPic = cv2.cvtColor(cv2.Canny(cv2.imread(os.path.join(
        tempAddr, 'slider.png')), 100, 200), cv2.COLOR_GRAY2BGR)  # type: ignore
    res = cv2.matchTemplate(backgroundPic, sliderPic, cv2.TM_CCOEFF_NORMED)
    min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(res)
    return max_loc[0]


你可能感兴趣的:(python小日常,python,opencv,自动化)