首页 > 其他分享 >小红书最新旋转验证码识别代码

小红书最新旋转验证码识别代码

时间:2024-11-05 17:18:17浏览次数:6  
标签:img format 小红书 base64 验证码 str 识别 data

一、简介

小红书又出了这种新的旋转验证码,是一种中国国画风格的图片,中间是旋转小图,并且带有随机黑色阴影。这给识别带来了很大难度。而且中间图片内容比较空旷,也给特征提取带来了难度。

二、识别介绍

经过我们的努力,识别这款新验证码的正确率已经达到了90%以上,大家只需要下载中间的圆形小图,然后就可以识别出旋转角度。再把角度转换成滑动距离,就可以实现自动化通过验证码了。下面是识别代码。

现在我们设计了两种识别模式,分别是:

1、原图识别:需要背景大图、中间圆形小图,两张图片识别(原图是通过图片链接下载的图片)

2、截图识别:截取整个背景大图区域的图片进行识别。

三、识别代码

1、原图识别

(1)原图样例图片

(2)识别代码

import base64
import requests
import datetime
from io import BytesIO
from PIL import Image, ImageDraw, ImageFont



#PIL图片保存为base64编码
def PIL_base64(img, coding='utf-8'):
    img_format = img.format
    if img_format == None:
        img_format = 'JPEG'

    format_str = 'JPEG'
    if 'png' == img_format.lower():
        format_str = 'PNG'
    if 'gif' == img_format.lower():
        format_str = 'gif'

    if img.mode == "P":
        img = img.convert('RGB')
    if img.mode == "RGBA":
        format_str = 'PNG'
        img_format = 'PNG'

    output_buffer = BytesIO()
    # img.save(output_buffer, format=format_str)
    img.save(output_buffer, quality=100, format=format_str)
    byte_data = output_buffer.getvalue()
    base64_str = 'data:image/' + img_format.lower() + ';base64,' + base64.b64encode(byte_data).decode(coding)
    # base64_str = base64.b64encode(byte_data).decode(coding)

    return base64_str

# 加载图片
img1 = Image.open(r'E:\Python\lixin_project\OpenAPI接口测试\test_img\62-1.png')
# 图片转base64
img1_base64 = PIL_base64(img1)
img2 = Image.open(r'E:\Python\lixin_project\OpenAPI接口测试\test_img\62-2.png')
# 图片转base64
img2_base64 = PIL_base64(img2)

# 验证码识别接口
url = "http://www.detayun.cn/openapi/verify_code_identify/"
data = {
    # 用户的key
    "key": "KJDwmNcZzN4wCyPY0aaX",
    # 验证码类型
    "verify_idf_id": "62",
    # 背景大图
    "img1": img1_base64,
    # 中间圆形小图
    "img2": img2_base64,
}
header = {"Content-Type": "application/json"}

t1 = datetime.datetime.now()
# 发送请求调用接口
response = requests.post(url=url, json=data, headers=header)

# 获取响应数据,识别结果
print(response.text)
print("耗时:", datetime.datetime.now() - t1)
2、截图识别

(1)原图样例图片

按照红框标识范围截图

(2)识别代码

import base64
import requests
import datetime
from io import BytesIO
from PIL import Image, ImageDraw, ImageFont



#PIL图片保存为base64编码
def PIL_base64(img, coding='utf-8'):
    img_format = img.format
    if img_format == None:
        img_format = 'JPEG'

    format_str = 'JPEG'
    if 'png' == img_format.lower():
        format_str = 'PNG'
    if 'gif' == img_format.lower():
        format_str = 'gif'

    if img.mode == "P":
        img = img.convert('RGB')
    if img.mode == "RGBA":
        format_str = 'PNG'
        img_format = 'PNG'

    output_buffer = BytesIO()
    # img.save(output_buffer, format=format_str)
    img.save(output_buffer, quality=100, format=format_str)
    byte_data = output_buffer.getvalue()
    base64_str = 'data:image/' + img_format.lower() + ';base64,' + base64.b64encode(byte_data).decode(coding)
    # base64_str = base64.b64encode(byte_data).decode(coding)

    return base64_str

# 加载图片
img1 = Image.open(r'E:\Python\lixin_project\OpenAPI接口测试\test_img\62-3.jpg')
# 图片转base64
img1_base64 = PIL_base64(img1)

# 验证码识别接口
url = "http://www.detayun.cn/openapi/verify_code_identify/"
data = {
    # 用户的key
    "key": "KJDwmNcZzN4wCyPY0aaX",
    # 验证码类型
    "verify_idf_id": "62",
    # 背景大图
    "img1": img1_base64,
    # 中间圆形小图
    "img2": '',
}
header = {"Content-Type": "application/json"}

t1 = datetime.datetime.now()
# 发送请求调用接口
response = requests.post(url=url, json=data, headers=header)

# 获取响应数据,识别结果
print(response.text)
print("耗时:", datetime.datetime.now() - t1)

这里有详细的说明文档:https://www.detayun.cn/tool/verifyCodeIdentifyPage/?verify_idf_id=62

想了解更多验证码识别请访问:得塔云

标签:img,format,小红书,base64,验证码,str,识别,data
From: https://blog.csdn.net/Dxy1239310216/article/details/143484694

相关文章

  • 罐笼乘坐人员超限识别智慧矿山一体机人员背夹佩戴识别如何与其他矿山安全系统协同工作
    在现代矿业领域,安全与效率是两个核心议题。智慧矿山一体机的问世,正是为了应对这些挑战,它是一款专为矿山环境设计的高科技设备,旨在通过智能化手段提升矿山的安全监管和生产效率。这款设备不仅符合矿山场景视频智能化建设的技术要求和验收标准,还通过边缘侧视频智能识别技术,为矿山安......
  • 智慧园区算法视频分析服务器烟雾识别监控系统常见的推荐配置参考指南
    在智慧园区的构建中,视频监控系统扮演着至关重要的角色,尤其是算法视频分析服务器在烟雾识别方面的应用,它能够极大地提升园区的安全监控能力。为了确保系统的有效运行和精准识别,合理的硬件配置是基础。以下是智慧园区算法视频分析服务器的推荐配置参考指南。1、处理器(CPU):视频分析......
  • 让金融数据处理更精准-C#银行回单识别集成示例、回执单识别
    银行回单识别接口是一种基于人工智能和光学字符识别(OCR)技术的解决方案,能够自动识别和提取银行回单中的关键信息。通过这项技术,用户可以对回单文字内容进行提取,系统便能快速准确地识别回单上的交易金额、时间、银行名称、账户信息等各类重要数据,并将其转化为可结构化的数字信息......
  • 工人安全绳穿戴识别系统
    工人安全绳穿戴识别系统采用视频图像自动识别的形式,工人安全绳穿戴识别系统通过安装在作业区域的监控摄像头,一旦发现工人高空作业未佩戴安全带的情况,系统可以立即发出告警,相关人员可以迅速采取措施,防止事故的发生。工人安全绳穿戴识别系统的应用还构成了对作业人员的震慑作用。不......
  • ai抽烟检测识别预警摄像机
    ai抽烟检测识别预警摄像机利用现场已有的监控摄像头对视频画面进行全天候实时监测,ai抽烟检测识别预警摄像机一旦发现抽烟动作、烟雾、火焰等可疑行为,系统将立即发出预警,并通过同步推送的方式提醒相关工作人员及时处理。这一技术的应用,不仅可以有效预防和减少公共场所的吸烟行为,还......
  • 安全通道占用识别
    安全通道占用识别系统利用现场已有的监控摄像头,安全通道占用识别通过先进的AI算法,对消防通道/安全通道进行实时监测。一旦监测到通道被占用、堵塞的情况,系统会立即发出告警,并通过多种方式将告警信息迅速推送给相关管理人员。这不仅极大提升了监控区域的管控效率,更为重要的是,安全通......
  • 基于卷积神经网络的大豆病虫害识别与防治系统,resnet50,mobilenet模型【pytorch框架+pyt
     更多目标检测和图像分类识别项目可看我主页其他文章功能演示:大豆病虫害识别与防治系统,卷积神经网络,resnet50,mobilenet【pytorch框架,python源码】_哔哩哔哩_bilibili(一)简介基于卷积神经网络的大豆病虫害识别与防治系统是在pytorch框架下实现的,这是一个完整的项目,包括代码,......
  • 脱岗智能识别摄像机
    在现代企业管理中,员工的工作效率和安全性日益受到重视。尤其是在一些需要高强度监控的行业,如制造业、安保行业及公共服务等,脱岗现象可能导致生产延误、安全隐患甚至经济损失。为了解决这一问题,脱岗智能识别摄像机应运而生,成为提升工作场所管理水平的重要工具。脱岗智能识别摄像机主......
  • 使用 Julia 实现简单的文字识别程序
    在这篇文章中,我们将使用Julia语言来实现一个简单的文字识别程序。Julia是一种高性能的动态编程语言,特别适合科学计算和数据处理。我们将手动实现图像处理步骤,以便进行字符识别。环境准备首先,确保你已安装Julia。可以从Julia的官方网站下载并安装。接着,我们需要安装一些用......