当前位置: 首页 > news >正文

最新豆包九宫格验证码识别代码

一、简介

上图是抖音九宫格验证码图片的样例图片。这款验证码确实有很大的难度,有一下几个特点:

1、首先是图片种类非常多。

2、其次图片都是由AI随机生成,每一张图片都不一样。

3、还需要结合语义进行理解

二、识别准备

经过我们几个月的研究,终于完成了这款识别模型的开发,正确率能达到90%以上,并且我们还会持续更新,争取达到100%的正确率。

识别这个图片需要上传两个东西:

1、九宫格原图

目前不支持截图,原图是通过图片链接下载的图片,是这种直接拼接的图片,不像页面显示的有变色间隔。

2、点击描述文本

描述文本页面上显示的是什么,就需要传什么。不能修改,不能自定义描述,也不能去掉原本的标点符号。

三、识别代码

下面是使用python写的识别样例代码

import base64 import requests import datetime from io import BytesIO from PIL import Image, ImageDraw 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) # base64_str = base64.b64encode(byte_data).decode(coding) return base64_str # 加载图片 img1 = Image.open(r'E:\Python\lixin_project\OpenAPI接口测试\test_img\86.jpg') # 图片转base64 img1_base64 = PIL_base64(img1) 得塔云地址 http://bq1gpmr8.xiaomy.net(电信) http://220.167.181.200:9009(移动、电信、联通) 根据不同网络选择不同接口 # 验证码识别接口 url = "http://bq1gpmr8.xiaomy.net/openapi/verify_code_identify/" data = { # 用户的key "key":"2zLW3AnTbYJaEV4ofH3G", # 验证码类型 "verify_idf_id":"86", # 样例图片 "img_base64":img1_base64, # 点击的物品名称 "words": "有哪些生态元素可以在森林中看到?", } header = {"Content-Type": "application/json"} # 发送请求调用接口 response = requests.post(url=url, json=data, headers=header) point_list = eval(response.json()['data']['res_str']) # 获取响应数据,识别结果 print(response.text) print("耗时:", datetime.datetime.now() - t1) img1 = img1.convert("RGB") draw = ImageDraw.Draw(img1) point_list = [(x[0] - 5, x[1] - 5, x[0] + 5, x[1] + 5) for x in point_list] for point in point_list: draw.ellipse(point, fill=(255, 0, 0)) # 显示识别后标记的点击点 img1.show()

运行上面代码,用红色圆点标注出了需要点击的图片,如下图

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

http://www.jsqmd.com/news/1094177/

相关文章:

  • Dify工作流模板宝库:零代码构建AI应用的终极指南
  • MSP430硬件乘法器MPY32:嵌入式实时信号处理的数学加速引擎
  • AI API 429 怎么解决:区分 rate_limit 与 insufficient_quota,给 Dify、Cursor 加上退避与限流
  • 深入WebDriverAgent源码:揭秘iOS自动化测试底层原理与实战调试
  • DeepSeek DSpark 详解:V4 实测提速 60%~85%,它做对了什么?
  • ​​128. 最长连续序列​​
  • 计算机毕业设计之基于深度学习的农作物病虫害识别系统
  • 供应链实战复盘:学习 SCMP 后,打通企业跨部门协同、库存、数字化三大难题
  • 事件驱动架构:高并发异步业务的专属架构
  • iTunes登录协议逆向全解析:从抓包到签名算法复现
  • 5个理由告诉你为什么需要网页存档浏览器扩展
  • 猫抓:浏览器资源嗅探神器,让网页媒体资源无处遁形
  • Kafka-UI终极指南:5分钟构建企业级Kafka可视化监控平台
  • 智慧港口船舶类型AI识别:自动引导泊位
  • 终极网页存档指南:使用Wayback Machine浏览器扩展永久保存网络记忆
  • Mythos:大模型长程逻辑推演与反事实约束生成技术解析
  • 从理论到实践:感应电机FOC电流环PI参数整定中的延时与滤波器影响分析
  • 单基三通道SAR-GMTI原理
  • 什么?手机没声音咋听音乐?
  • 存量资产提质升级 大健康赋能城市更新的湖南实践
  • Obsidian插件汉化终极指南:零代码实现全界面中文的简单方法
  • Codex 使用数据表明:Agentic AI 正在改变工作方式
  • 猫抓:浏览器中的智能媒体资源嗅探器,让网络资源触手可及
  • Dify 和 Cursor 接国内 API 中转站怎么配置:环境变量、灰度开关、Base URL 和回滚清单
  • 【课程设计/毕业设计】基于 SpringBoot 的传统艺术(戏曲)文化传播系统设计 校园戏曲文化推广传播平台的设计与实现【附源码、数据库、万字文档】
  • GPT-5.6再搁浅!
  • 二、详解 MySQL 索引结构
  • 基于Next.js与AI Agent的网站克隆工具:从原理到部署实战
  • 月薪50K!AI大模型风口已至,普通人如何抓住这波红利?
  • Java毕设选题推荐:基于 SpringBoot+Vue 的戏曲文化宣传推广系统设计与实现 数字化戏曲文化传承与传播平台的设计与开发【附源码、mysql、文档、调试+代码讲解+全bao等】