首页 > 其他分享 >京东最新旋转验证码识别代码

京东最新旋转验证码识别代码

时间:2024-10-31 16:50:23浏览次数:3  
标签:img format base64 验证码 str img2 京东 识别 img1

 今天京东旋转验证又又又更新了,样例如下:

更新了很多新图片,我们再次进行了大量数据标记,完成了这款验证码的更新。现在正确率可以达到99%左右。

下边是这款验证码的识别代码:

 
import base64
import requests
import datetime
import numpy as np
from io import BytesIO
from PIL import Image
 
t1 = datetime.datetime.now()
 
#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)
 
    return base64_str
 
# 旋转图片
def mark(img, angle):
    # 转换为有alpha层
    temp_img2 = img.convert('RGBA')
    # 旋转
    rot = temp_img2.rotate(-angle)
    # 创建一个与旋转图像大小相同的白色图像
    fff = Image.new('RGBA', rot.size, (255,) * 4)
    # 使用alpha层的rot作为掩码创建一个复合图像
    out = Image.composite(rot, fff, rot)
    # 将临时图片转换为元素图片颜色模式
    temp_img2 = out.convert(img.mode)
 
    return temp_img2
 
# 加载外圈大图
img1 = Image.open(r'E:\Python\lixin_project\OpenAPI接口测试\test_img\41号模型测试图片_1.png')
# 图片转base64
img1_base64 = PIL_base64(img1)
# 加载内圈小图
img2 = Image.open(r'E:\Python\lixin_project\OpenAPI接口测试\test_img\41号模型测试图片_2.png')
# 图片转base64
img2_base64 = PIL_base64(img2)
 
# 验证码识别接口
url = "http://www.detayun.cn/openapi/verify_code_identify/"
data = {
    # 用户的key
    "key":"EhH7MC2kAYeyZTPYeqWw",
    # 验证码类型
    "verify_idf_id":"41",
    # 外圈大图
    "img1":img1_base64,
    # 内圈小图
    "img2":img2_base64,
}
header = {"Content-Type": "application/json"}
 
# 发送请求调用接口
response = requests.post(url=url, json=data, headers=header)
 
# 获取响应数据,识别结果
print(response.text)
print("耗时:", datetime.datetime.now() - t1)
angle = response.json()['data']['angle']
 
# 旋转图片查看效果
# 旋转图像
img2 = mark(img2, angle)
# 获取大图和小图的尺寸
large_width, large_height = img1.size
small_width, small_height = img2.size
 
# 计算小图在大图中的位置(中心)
position = ((large_width - small_width) // 2, (large_height - small_height) // 2)
 
# 将小图粘贴到大图的中心
img1.paste(img2, position)
img1.show()

这里有详细的说明文档:得塔云

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

标签:img,format,base64,验证码,str,img2,京东,识别,img1
From: https://blog.csdn.net/Dxy1239310216/article/details/143306137

相关文章

  • excel表格文字识别-ocr表格文字提取api接口集成
    表格文字识别接口的集成示例通常包含几个关键步骤,从接入API接口到最终数据处理和展示。以下是翔云表格文字识别接口的一个基本集成流程示例:1.获取接口信息在开始集成前,请确保已经获取了表格文字识别API的接口文档,并了解该接口的参数需求、返回结果格式、以及鉴权方......
  • AI鸟类识别技术让风电场不再为“鸟类坟场”
    引言随着全球对可再生能源需求的增加,风能作为一种清洁能源得到了快速发展。然而在鸟类迁徙路线附近的风电场,逐渐变成了野生飞行动物的“坟场”。为了减少风电场对鸟类的负面影响,同时提高风电的生态友好属性,快瞳AI鸟类识别技术提供了有效的解决方案。风电场对鸟类的影响风电......
  • Java - 文字识别 ;示例代码基于SpringAI和国产大模型
    文字识别在Java开发中的应用在Java开发中,将图像中的文字进行识别能力被广泛应用于多种场景,比如自动审核图片内容、商品搜索分析等。过去,这类需求主要通过OCR(光学字符识别)技术来实现,但其对于复杂图像的处理效果往往不尽人意。如今,随着大模型技术的发展,利用这些先进的AI模型......
  • 5分钟搞定:Java实现验证码智能识别_java_验证码识别
    24年12月截止了,赶紧来拿奖金!总计30万,SpringAIAlibaba应用框架挑战赛开赛点此了解利用大模型提高Java验证码识别的效率与精度在Java场景中,java识别验证码的需求非常普遍。传统的OCR方法虽然被广泛使用,但其效果并不总是稳定。现在,借助大模型的力量,java识别验证码变得更加......
  • 工作服穿戴ai识别厂商
    工作服穿戴ai识别厂商基于AI人工智能机器视觉分析识别技术进行部署,工作服穿戴ai识别厂商利用现场在特定生产区域内已有的监控摄像头能够对工人的穿戴情况进行实时检测。工作服穿戴AI识别系统经过大量数据训练和算法优化,能够准确判断工人的穿戴是否合规。一旦系统检测到工人的穿戴......
  • 骑电动车戴头盔智能检测识别系统
    骑电动车戴头盔智能检测识别系统利用AI人工智能机器视觉分析识别技术,骑电动车戴头盔智能检测识别系统通过路口网络摄像头采集的视频,系统使用AI算法进行分析,准确识别出骑行者的安全隐患行为,如农用车载人、三轮车载人、三轮车不戴头盔、电瓶车不戴头盔、摩托车不戴头盔、电瓶车载人/......
  • c++ string 识别标志位并解析标志位后面的字符
    解析字符串中的固定标志位正则表达式和iterator的配合应用#include<string>#include<map>#include<regex>#include<iostream>//替换\\M+后面的字符//\\M+195B6替换为文std::regexpattern(R"(\\M+[^\\M]*)");//匹配\\M+后跟任意非\\M的字符(0次或多次)......
  • 基于MATLAB多参数结合火焰识别系统
    一、课题介绍本设计为基于MATLAB的火焰烟雾火灾检测系统。传统的采用颜色的方法,误识别大,局限性强。结合火焰是实时动态跳跃的,采用面积增长率,角点和圆形度三个维度相结合的方式判断是否有火焰。该设计测试对象为视频,通过下一帧和上一帧的差异发现是否有火情,并可发出语音报警。......
  • 江大白 | 跨界融合创新,基于YOLO11和Ollama的增强OCR文本识别
    本文来源公众号“江大白”,仅用于学术分享,侵权删,干货满满。原文链接:跨界融合创新,基于YOLO11和Ollama的增强OCR文本识别导读本文介绍一种通过自定义YOLOv11和EasyOCR,结合Ollama优化OCR效果的方法,解决了传统OCR在复杂图像中的识别难题,显著提高了准确性,为高精度文本提取提供了有......
  • 个人可识别信息(PII) AI 去除 API 数据接口
    个人可识别信息(PII)AI去除API数据接口ai/隐私保护基于AI模型自动去除个人识别信息(PII)个人信息保护/AI模型。1.产品功能基于自有专业模型进行PII自动去除高效处理敏感信息全接口支持HTTPS(TLSv1.0/v1.1/v1.2/v1.3);全面兼容AppleATS;全国多节点C......