前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >验证码识别最佳方案,你不来试试?

验证码识别最佳方案,你不来试试?

作者头像
测试开发囤货
发布2021-08-11 15:20:32
3K0
发布2021-08-11 15:20:32
举报
文章被收录于专栏:测试开发囤货测试开发囤货

背景

UI自动化测试-验证码识别

验证码分析:图片上有折线,验证码有数字,有英文字母大小写,分类的时候需要更多的样本,验证码的字母是彩色的,图片上有雪花等噪点,因此识别改验证码难度较大。

方案对比

Tesseract OCR

  • 缺点:这个安装比较麻烦,对新手不太友好,各个系统,不同的python环境下,坑比较多;需要额外设置环境变量等。

「我敢保证你一次肯定安装不成功」哈哈哈哈。

  • 优点:是免费,较为易用;但其识别精度一般。

百度OCR

  • 缺点:需要进行一系列的配置,新手一次搞不定;免费的api有调用次数限制而且需要联网【有限制】;离线sdk需要购买。
  • 优点:识别准确率高

带带弟弟OCR

  • 缺点:暂时没有缺点,和以上两个ocr相比;免费的忽略缺点【哈哈哈哈哈】
  • 优点:「开箱即用,安装简单,大力推荐,识别率高」

实际操作

安装

安装过程相当简单,不会出现任何报错,版本不兼容的情况【python>=3.6】

代码语言:javascript
复制
pip install ddddocr

展示代码

代码语言:javascript
复制
# -*- coding: utf-8 -*-
"""
@Project :demo 
@File    :test_ocr.py
@Author  :lijiawei
@Date    :2021/8/10 8:45 上午 
"""
import ddddocr


def magic_ocr(img_path):
    """
    ocr 识别
    :param img_path: 验证码图片路径
    :return: 
    """
    ocr = ddddocr.DdddOcr()
    with open(img_path, 'rb') as f:
        img_bytes = f.read()
    return ocr.classification(img_bytes)

实战

  • 我们以【北京通】登录页面的验证为例
  • 识别结果
代码语言:javascript
复制
1774
Process finished with exit code 0

验证码样本

用我们的验证码样本实战,平均识别速度在100ms以内,识别率100%

思考&反问

「大家觉得方便高效有没有质和量的区别?」

  • 用【Tesseract OCR】进行验证码识别方不方便?也挺方便!
  • 用【百度OCR】进行验证码识别方不方便?也挺方便!
  • 用【带带弟弟OCR】进行验证码识别方不方便?好像也挺方便!

就经常问人,如果这三种方式能给够同样给你带来方便,也就是说这三 种方式你都欣赏过都使用过,你都觉得还不错对吧!

「那你觉得哪种方便更让你方便?」


总而言之,如果你需要进行验证码识别,以上3种识别方案都尝试过, 那么,带带弟弟OCR(ddddocr)这个库一定是你的首选方案~

下集预告

  • 将验证码识别服务化

部署属于自己的 OCR API

关注「测试开发囤货」公众号回复「AI」,送你一套 Python机器学习 电子书。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-08-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 测试开发囤货 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景
    • UI自动化测试-验证码识别
    • 方案对比
      • Tesseract OCR
        • 百度OCR
          • 带带弟弟OCR
          • 实际操作
            • 安装
              • 展示代码
                • 实战
                  • 验证码样本
                  • 思考&反问
                  • 下集预告
                  相关产品与服务
                  文字识别
                  文字识别(Optical Character Recognition,OCR)基于腾讯优图实验室的深度学习技术,将图片上的文字内容,智能识别成为可编辑的文本。OCR 支持身份证、名片等卡证类和票据类的印刷体识别,也支持运单等手写体识别,支持提供定制化服务,可以有效地代替人工录入信息。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档