图像识别之验证码识别

这篇具有很好参考价值的文章主要介绍了图像识别之验证码识别。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

导语

自动化测试中,例如使用selenium测试web页面,在定位元素、识别元素、确认元素内容时会遇到,目标元素不可被获取、目标元素是图片无法获取到文本、目标元素动态变化无法定义预期值等,遇到以上种种便阻碍了测试脚本的进行,所以选择图像识别来实现以上无法完成的动作。
图片验证码识别,python,开发语言,selenium,图像处理

原理及环境搭建

在原有的python环境外(作者使用python3.7),实现图像识别首先安装tesseract后端引擎,用于支撑OCR识别,主要涉及两个环境(截图、OCR识别)。

tesseract

由于Textshot的OCR识别需要调用tesseract后端引擎,所以,首先需要安装tesseract。
1.Windows版安装可以直接访问下载链接[https://sourceforge.net/projects/tesseract-ocr/]。
配置两个环境变量一个path一个TESSDATA_PREFIX。
(1)path下新增一个path为Tesseract-OCR所在路径,例如:F:\SocTest\dist\Tesseract-OCR。
(2)新建 TESSDATA_PREFIX 放入tessdata所在路径,例如F:\SocTest\dist\Tesseract-OCR\tessdata。
(3)配置完成需要重启电脑。
2.Mac下可以使用Homebrew进行安装(brew install tesseract)

截图工具安装

截图工具是我们经常会用到的一种工具,Python中有很多可以实现截图的库或者函数,例如,pyscreenshot或者PIL中的Image函数,只需要把鼠标框选的起点和终点坐标传给grab方法就可以实现截图功能。
可以通过pip install 工具例如:pip install pyscreenshot来进行安装。

图像识别验证码Demo实现

图像识别函数

创建一个SocImage.py文件,引入os、PIL-Image、pytesseract、time,函数需要传入浏览器browser、element为主要参数,以传入元素获取整个验证码所在的左上角x、y坐标轴,再通过获取元素的宽和高计算得出另外三个点的坐标轴,实现截图并命名为screen,图片准备完毕后,调用pytesseract的image_to_string函数将图片转换为字符串,最终将识别出的字符串返回给测试脚本函数,代码样例如下:
图片验证码识别,python,开发语言,selenium,图像处理

测试脚本函数

图片验证码识别,python,开发语言,selenium,图像处理文章来源地址https://www.toymoban.com/news/detail-772533.html

到了这里,关于图像识别之验证码识别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • CamSim相机模拟器:极大加速图像处理开发与验证过程

    随着图像处理技术的不断发展,相机模拟在图像处理开发和验证中扮演着越来越重要的角色。相机模拟能够模拟真实相机的成像过程,提供高质量的图像输入,使开发人员能够更好地评估和调整图像处理算法。本文将 探讨如何通过相机模拟来加速图像处理的开发和验证过程

    2024年02月03日
    浏览(38)
  • 构建基于AWSLambda的人工智能应用:语音识别、图像识别和自然语言处理

    作者:禅与计算机程序设计艺术 在人工智能领域,用大数据、机器学习等方法来解决复杂的问题,已经成为越来越多企业和开发者关注的问题。但是,如何把这些方法落地到生产环境中,仍然是一个难题。 随着云计算平台的广泛普及,AWS Lambda作为一项服务正在成为各个公司

    2024年02月09日
    浏览(78)
  • python图像处理——图像压缩(调整图片的存储大小)

    前言 很多时候拍的图片都是几百KB 甚至多少M来算的,有时候证件照要求的又很小,作为一个程序员,总不能老是在网上找压缩的吧,而且又麻烦,不如自己用程序跑跑啦 懒得写太详细注释了,不懂可以问噢,后续会把不懂的放上来,或者优化代码 点赞或收藏可以鼓励作者加

    2024年03月11日
    浏览(73)
  • 友思特分享 | CamSim相机模拟器:极大加速图像处理开发与验证过程

    来源:友思特 机器视觉与光电 友思特分享 | CamSim相机模拟器:极大加速图像处理开发与验证过程 原文链接:https://mp.weixin.qq.com/s/IED7Y6R8WE4HmnTiRY8lvg 欢迎关注虹科,为您提供最新资讯! 随着图像处理技术的不断发展, 相机模拟器 在图像处理开发和验证中扮演着越来越重要的

    2024年02月02日
    浏览(48)
  • Python实现简单的图像识别与处理

    本文将介绍Python实现简单的图像识别与处理,包括图像的读取、显示、存储、转换为数组、灰度化、二值化、滤波、边缘检测、形态学处理、轮廓检测和图像识别。 一、图像读取、显示和存储 Python的OpenCV库提供了完整的图像处理功能,可以进行图像的读取、显示和存储。以

    2024年02月06日
    浏览(41)
  • 【图像处理】Python判断一张图像是否亮度过低,图片模糊判定

    比如: 直方图: 代码: 这段代码是一个用于判断图像亮度是否过暗的函数is_dark,并对输入的图像进行可视化直方图展示。 首先,通过import语句导入了cv2和matplotlib.pyplot模块,用于图像处理和可视化。 is_dark函数的作用是判断输入图像的平均亮度是否低于设定的阈值。函数接

    2024年02月16日
    浏览(55)
  • 【图像处理】使用Python进行实时人脸检测和识别

            你有没有想过用Python构建一个面部识别系统?不要再看了!在本教程中,我们将使用 face_recognition 库来检测和识别视频流、图像甚至使用网络摄像头实时检测和识别人脸。         人脸识别和人脸检测是计算机视觉领域的两个独立任务。         人脸检测

    2024年02月13日
    浏览(63)
  • 数字图像处理二维码识别python+opencv实现二维码实时识别

    数字图像处理二维码识别 python+opencv实现二维码实时识别 特点: (1)可以实现普通二维码,条形码; (2)解决了opencv输出中文乱码的问题 (3)增加网页自动跳转功能 (4)实现二维码实时检测和识别 代码保证原创、无错误、能正常运行(如果电脑环境配置没问题) 送二维

    2024年01月16日
    浏览(69)
  • Python使用Opencv图像处理方法完成手势识别(一)

    由于是使用Opencv完成手势识别,所以首先利用颜色特征是对手的颜色进行提取,获得HSV的最小值与最大值。 HSV颜色空间阈值主要是靠 Trackbar 调节阈值和 cv2.inRange 来生成掩膜来提取。 这是我写的HSV阈值获取的代码: 使用方法: 运行代码之后,从第一个依次调节滑块,使画面中

    2024年02月05日
    浏览(76)
  • Python 图像处理:对比两张图片的差异

    在图像处理领域,对比两张图片的差异是一项常见的任务。Python 提供了许多强大的工具和库,使我们能够轻松地实现这一目标。本文将介绍如何使用 Python 对比两张图片,检测和可视化它们之间的差异。 在开始之前,我们首先需要定义图像差异。图像差异可以被理解为两张图

    2024年02月11日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包