引言

opencv在目前的工作中,主要用于破解“登录—滑动验证码”,来获取x、y的偏移量。

1.安装

  1. pip install opencv-python

2.使用说明

1.核心代码

  1. import base64, cv2
  2. # 读取图片
  3. # --------下面是核心代码---------------------
  4. bg_rgb = cv.imread(bgImagePathAll) # 读取背景图(核心)
  5. bg_gray = cv.cvtColor(bg_rgb, cv.COLOR_BGR2GRAY) #将图像从RGB空间转化成灰度图(核心)
  6. slide_rgb = cv.imread(sideImagePathAll, 0) # 读取--加载灰度图片(滑块)(核心)
  7. # 使用matchTemplate对原始灰度图像和图像模板进行匹配
  8. res = cv.matchTemplate(bg_gray, slide_rgb, cv.TM_CCOEFF_NORMED)(核心)
  9. # 计算“背景图-滑块图的缺口偏移量”
  10. #寻找矩阵(一维数组当作向量,用Mat定义) 中最小值和最大值的位置.
  11. myOffset = cv.minMaxLoc(res) (核心)
  12. print("offset:", str(myOffset))
  13. # --------下面是非核心代码---------------------
  14. # 下面是获取x,y值
  15. firstStr = str(myOffset)[1:-1]
  16. # print("first:",firstStr)
  17. my1 = firstStr.replace('(', '')
  18. my2 = my1.replace(')', '')
  19. # print("my2:", my2)
  20. firstList = my2.split(',')
  21. x_side = int(''.join(firstList[2:3])) # x值
  22. print("x_side:\t", x_side)
  23. y_side = int(''.join(firstList[3:4])) # y值
  24. print("y_side:\t", y_side)