ddddocr(带带弟弟离线验证码识别OCR)之 图形验证码

背景

对于能访问互联网的设备来说,付费引用互联网上三方的验证码识别接口当然准确率和稳定性会更高一些,并且有客服进行指导和维护,但是对于另外一些不能访问互联网或对数据安全要求较高的设备来说,使用本地离线的验证码识别OCR就很有必要。

这将会是一个专栏,逐步更新ddddocr支持的所有验证码类型

图形验证码举例

在这里插入图片描述

代码示例

import os
import requests
import numpy as np
import ddddocr


def _read_image(image_path_or_url):
    """
    读取图片信息
    兼容本地路径和网络链接
    ⭐注意: 如果传入网络链接, 请保证指令再次请求该链接能获得与您目标一致的验证码图片

    :param image_path_or_url: 图片路径,支持本地路径或网络链接
    """
    image = None
    # 判断传入的是本地文件路径还是链接
    if os.path.isfile(image_path_or_url):
        # 本地路径,直接读取图片
        with open(image_path_or_url, 'rb') as f:
            image = f.read()
        if image is None:
            raise(f"Failed to read image from local file: {image_path_or_url}")
    else:
        # 网络链接,从链接读取图片
        try:
            response = requests.get(image_path_or_url)
            if response.status_code == 200:
                image = response.content
            else:
                raise(f"Failed to fetch image from URL (HTTP {response.status_code}): {image_path_or_url}")
        except Exception as e:
            raise Exception(f"Error reading image from URL: {e}")
    return image


def _ocr_by_path_or_url(image_path_or_url):
    image = _read_image(image_path_or_url)
    ocr = ddddocr.DdddOcr(show_ad=False)
    res = ocr.classification(image)
    return res
  • 15
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值