滑块验证码之图片距离计算

news/2024/5/20 9:02:52 标签: python, rpa

滑块验证码之图片距离计算

1.使用工具

python_4">2.安装opencv-python

python -m pip install opencv-python -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

查看安装的版本:

C:\Users\wenhz>pip list|findstr opencv
opencv-python             4.8.1.78

3.图片识别

3.1 准备的图片

在这里插入图片描述
在这里插入图片描述
注意:项目目录不要包含中文,图片命名的路径也不要包含中文路径,可能会出现意想不到的错误

3.2 图片识别函数

  • matchTemplate(原图片,要识别的图片,识别模式):相关系数匹配函数,在一张图中寻找另一张图最相似的地方,最后返回一个相似矩阵
  • Canny(图片矩阵,长度,高度):图像的边缘检测,即图像局部亮度变化显著的部分。如平滑到连续的过度。通常用于特征提取和特征,通常就是物体去除各种干扰,保留下的基本纹理特征。如下图:
    在这里插入图片描述- minMaxLoc(矩阵):用于求一个矩阵的最大值,最小值,以及对应值的索引。如:
    python">import numpy as np
    import cv2
    a=np.array([[1,2,3,4],[5,67,8,9]])
    min_val,max_val,min_indx,max_indx=cv2.minMaxLoc(a)
    
    print(min_val,max_val,min_indx,max_indx)
    
    out:
    
    1.0 67.0 (0, 0) (1, 1)
    

3.3 距离计算完整代码

python">def cal_loc(filePath_bg,filePath_qk):
    '''
    bg: 背景图片
    qk: 缺口图片
    '''
    # 读取背景图片和缺口图片
    bg_img = cv2.imread(filePath_bg) # 背景图片
    qk_img = cv2.imread(filePath_qk) # 缺口图片
    
    # 识别图片边缘
    bg_edge = cv2.Canny(bg_img, 100, 200)
    qk_edge = cv2.Canny(qk_img, 100, 200)
    
    # 转换图片格式
    bg_pic = cv2.cvtColor(bg_edge, cv2.COLOR_GRAY2RGB)
    qk_pic = cv2.cvtColor(qk_edge, cv2.COLOR_GRAY2RGB)
    
    # 缺口匹配
    res = cv2.matchTemplate(bg_pic, qk_pic, cv2.TM_CCOEFF_NORMED)
    min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(res) # 寻找最优匹配
    # 返回缺口的X坐标
    return max_loc[0] 

http://www.niftyadmin.cn/n/5221040.html

相关文章

AcWing105. 七夕祭

题目 七夕节因牛郎织女的传说而被扣上了「情人节」的帽子。 于是 TYVJ 今年举办了一次线下七夕祭。 Vani 同学今年成功邀请到了 cl 同学陪他来共度七夕,于是他们决定去 TYVJ 七夕祭游玩。 TYVJ 七夕祭和 11 区的夏祭的形式很像。 矩形的祭典会场由 N N N 排 …

7000字+24张图带你彻底弄懂线程池

大家好,我是三友。今天跟大家聊一聊无论是在工作中常用还是在面试中常问的线程池,通过画图的方式来彻底弄懂线程池的工作原理,以及在实际项目中该如何自定义适合业务的线程池。 一、什么是线程池 线程池其实是一种池化的技术的实现&#xff0…

7种SQL进阶用法【转】

1.自定义排序(ORDER BY FIELD) 在MySQL中ORDER BY排序除了可以用ASC和DESC之外,还可以使使用自定义排序方式来实现 CREATE TABLE movies ( id INT PRIMARY KEY AUTO_INCREMENT, movie_name VARCHAR(255), actors VARCHAR(255), price DECIMAL(10,2) DEFAULT 50, release date…

红黑树(万字图文详解)

红黑树 1. 红黑树的概念2. 红黑树的性质3. 红黑树节点的定义4. 红黑树结构5. 红黑树的插入操作5.1 按照二叉搜索的树规则插入新节点5.2 检测新节点插入后,红黑树的性质是否造到破坏5.2.1 情况一: cur为红,p为红,g为黑,u存在且为红…

数据挖掘 朴素贝叶斯

直入正题,直接看代码: 这是一段判断是不是藏话的代码 import numpy as np# 数据采集(定义函数加载数据集) def load_dataset():sent_list [[my, name, is, Devin],[you, are, stupid],[my, boyfriend, is, SB],[you, looks, ver…

谈谈MYSQL中的Explain

目录 前言 基本介绍 Explain结果列解读 概述 key key_len type extra 前言 我们在设计一个系统的时候,有时候通常为了基础业务,写出的查询sql语句并不高效,从而影响到用户使用系统的整体体验感不是很好,我们通常在系统的…

主机安全-WindowsLinux的SSH安全加固

信息安全相关 - 建设篇 第三章 主机安全-Linux的SSH安全加固 信息安全相关 - 建设篇系列文章回顾主机安全-Linux的SSH安全加固前言Windows openssh相关命令,安装openssh获取openssh命令Windows openssl相关命令,安装Git获取openssl命令修复 CVE-2015-280…

Python实现WOA智能鲸鱼优化算法优化XGBoost回归模型(XGBRegressor算法)项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 鲸鱼优化算法 (whale optimization algorithm,WOA)是 2016 年由澳大利亚格里菲斯大学的Mirjalili 等提…