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

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

一、简介

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

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/1229628/

相关文章:

  • Azure Linux:微软为云原生时代打造的轻量级操作系统,你了解多少?
  • Codex AI编程代理国内安装与使用全攻略:从环境配置到实战应用
  • Lens-3.8B-bf16未来展望:Apple Silicon AI生态中的定位与发展
  • XZ3440,5.5VIN,0.7A同步升降压恒压芯片
  • 服务性劳动双向加分,兼顾劳动与德育板块
  • 10 分钟上手 Typstyle:新手必备的 Typst 代码格式化指南
  • 5分钟解决你的新媒体数据采集难题:MediaCrawler多平台爬虫实战指南
  • 如何通过穆柯密佑MKL-01提升工作安全保障?
  • Tortoise-ORM集成
  • 用Spring Boot搭建一个可版本化的Prompt模板管理器:加载、缓存、灰度与回滚
  • Java编程必备英语词汇分类解析
  • 007、NMS与后处理流程:从非极大值抑制到WBF的优化策略与代码实战
  • 元初混沌 6G 全域通感一体化体系架构 第一卷四阶第四十四篇 土(组网架构)承载约束稳态基底
  • Yazelix Nova:一体化终端工作区终极方案
  • N3520小主机翻车实录:BIOS调优与Ubuntu安装避坑指南
  • RoboPOJOGenerator与Android开发:如何加速移动应用JSON数据处理
  • 2026营口奢侈品回收排名 TOP5 国家资质 名表 + 名包 + 钻石回收、劳力士 + LV + 香奈儿回收 无套路 联系方式推荐 - 中业金奢再生回收中心
  • 实地测评|2026合肥手表回收盘点,朗格腕表上门回收无压价门店 - 商业每日快报
  • Claude封号,给我找到了超高性价比的方法,独立开发者必看
  • 用Kaggle竞赛项目提升数据科学简历可信度
  • 硬边界:COM 互操作的限制
  • git-pr-release与GitLab集成:跨平台发布管理解决方案
  • Java编程英语术语分类指南与记忆技巧
  • v-hotkey安全指南:防止键盘快捷键被恶意利用的10个最佳实践
  • 为什么你的AI文章总被标原创度<40%?揭秘NLP嵌入层扰动+人工认知锚点双加固法
  • 3个IO口驱动多位数码管的74HC595级联方案
  • 福州卖黄金怕踩坑?2026年7月认准协会备案回收商,足金K金铂金不压价 - 商业每日快报
  • 四川智能化弱电总包企业排行:实力与项目维度盘点 - 互联网科技品牌测评
  • 超星学习通全自动签到:3步搞定,从此告别手动签到烦恼
  • CVAT标注平台架构深度解析:高效视觉数据标注的技术实现