如何利用 Gemini 批量处理图片验证码?程序员提效的 AI 脚本

夏芳小哥_6726

夏芳小哥_6726

2026-03-21

448人浏览

原创

gemini模型可高效识别图片验证码:一、调用gemini vision api进行单图识别;二、本地部署minicpm-v等轻量多模态模型离线处理;三、构建异步批量管道提升吞吐;四、结合opencv预处理增强图像质量。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如何利用 gemini 批量处理图片验证码?程序员提效的 ai 脚本

如果您需要从大量网页或接口中提取图片验证码并自动识别,传统 OCR 工具在扭曲、噪点、粘连等干扰下准确率常显著下降。Gemini 模型具备多模态理解能力,可直接接收图像输入并输出文本结果。以下是利用 Gemini 批量处理图片验证码的可行方法:

一、调用 Gemini Vision API 进行单图识别

该方法通过 Google 提供的官方 API 接口,将本地图片文件编码为 Base64 后提交至 Gemini Pro Vision 模型,由其返回识别后的验证码文本。适用于中低频批量任务,且需确保图片符合 API 尺寸与格式限制。

1、安装 google-generativeai 库:pip install google-generativeai

2、从 Google AI Studio 获取 API 密钥,并设置环境变量:export GOOGLE_API_KEY="your_api_key_here"

3、读取本地验证码图片文件,使用 base64 编码转换为字符串。

4、构建包含图片数据和提示词(prompt)的请求内容,例如:“仅输出图片中的 4 位纯数字验证码,不带空格、标点或任何额外说明。”

5、调用 generative_models.GenerativeModel('gemini-1.5-flash') 的 generate_content 方法发送请求。

6、解析 response.text 属性,提取模型返回的验证码字符串。

二、本地部署轻量级多模态模型替代方案

当网络隔离、隐私敏感或需高并发处理时,可选用可在本地运行的开源多模态模型,如 LLaVA-1.6 或 MiniCPM-V 2.6,配合 Python 脚本实现离线批量识别。该方式规避 API 调用延迟与配额限制,但需牺牲部分复杂验证码的识别精度。

1、克隆 MiniCPM-V 仓库:git clone https://github.com/OpenBMB/MiniCPM-V

2、安装依赖并加载量化版模型权重(如 minicpm-v-2_6-int4),降低显存占用。

3、遍历指定目录下的所有 .png/.jpg 验证码图片文件。

4、对每张图片执行预处理:调整尺寸至模型接受范围(如 384×384)、归一化像素值。

5、构造 prompt:“请识别并仅输出图中显示的英文与数字混合验证码,共 5 个字符,区分大小写。”

Baoyu Danger Gemini Web
Baoyu Danger Gemini Web

通过逆向工程的Gemini网页API生成图像和文本。支持文本生成、提示词图像生成以及用于视觉输入的参考图像等。

下载

6、调用 model.chat_image() 方法获取识别结果,截取首行纯文本输出作为验证码。

三、构建异步批量处理管道

为提升吞吐量,避免串行等待,可将图片识别任务封装为异步协程,结合 asyncio 和 aiohttp 实现并发请求。适用于使用 Gemini Vision API 处理数百张以上图片的场景,有效压缩总耗时。

1、定义异步函数 process_single_captcha(image_path: str),内部完成图片读取、Base64 编码、API 请求与响应解析。

2、使用 aiohttp.ClientSession() 创建共享会话实例,复用连接以减少握手开销。

3、将全部图片路径构造成任务列表:tasks = [process_single_captcha(p) for p in image_paths]

4、调用 asyncio.gather(*tasks) 并发执行所有识别任务。

5、收集返回结果列表,按原始路径顺序保存至 CSV 文件,字段包括“文件名”、“识别结果”、“响应状态”。

四、预处理增强 + Gemini 联合识别

原始验证码图像若存在严重噪声、低对比度或旋转倾斜,会显著拉低 Gemini 的识别置信度。引入 OpenCV 或 PIL 预处理环节,可提升输入质量,进而提高最终识别准确率。

1、加载图片后转为灰度图,应用自适应阈值(cv2.ADAPTIVE_THRESH_GAUSSIAN_C)分离前景字符。

2、执行形态学闭操作填充字符断点,再用开操作去除孤立噪点。

3、检测最小外接矩形并仿射校正倾斜角度,使字符区域水平对齐。

4、裁剪出仅含字符的有效区域,缩放至统一尺寸(如 256×80),保持宽高比并补黑边。

5、将预处理后的图像送入 Gemini Vision API,提示词强化约束:“严格依据输入图像内容输出,禁止推测或补全。”

相关专题

更多
Gemini网页版零基础入门:5分钟上手Gemini聊天指南
Gemini网页版零基础入门:5分钟上手Gemini聊天指南

本专题专为零基础用户打造,5分钟快速掌握Gemini网页版核心用法。从账号登录到界面布局,详解如何发起对话、优化提示词及利用多模态功能。通过实战案例,教你高效获取信息、创作内容与分析数据。无论学习还是工作,轻松开启AI辅助新时代,让Gemini成为你的得力智能助手。

2026.03.18

17537

10

如何写出高效Gemini提示:Chain of Thought实用教程
如何写出高效Gemini提示:Chain of Thought实用教程

本专题详解如何利用“思维链”(Chain of Thought)技巧激发 Gemini 模型的深度推理能力。通过引导模型将复杂问题拆解为逐步推导的逻辑链条,显著提升其在数学计算、代码生成及逻辑分析任务中的准确率。文章提供实用提示模板与对比案例,助您掌握结构化提问方法,从简单指令升级为高效交互,轻松获取更精准、可解释的智能回答。

2026.03.23

57

10

Gemini多模态实战:图片PDF视频输入完整处理指南
Gemini多模态实战:图片PDF视频输入完整处理指南

本指南全面解析 Gemini 多模态实战,涵盖图片、PDF 及视频的高效处理流程。从上传技巧到提示词设计,教您如何提取文档关键信息、分析图表数据及解读视频内容。通过真实案例演示,助您掌握跨模态交互核心技能,轻松构建智能文档分析与多媒体理解应用,释放 AI 潜能。

2026.03.23

77

10

Gemini提示工程进阶:Few-shot与角色扮演优化方法
Gemini提示工程进阶:Few-shot与角色扮演优化方法

本进阶指南深入解析 Few-shot 学习与角色扮演在 Gemini 提示工程中的核心应用。通过精选示例引导模型模仿特定风格,结合角色设定规范输出语气与逻辑,显著提升复杂任务的处理精度。文章提供实用模板与调优策略,助您打造个性化 AI 助手,实现从通用回答到专业级交互的质的飞跃。

2026.03.23

96

10

Google AI Studio使用教程:从模板到自定义Prompt实战
Google AI Studio使用教程:从模板到自定义Prompt实战

本教程手把手教您掌握 Google AI Studio,从快速调用官方模板到深度自定义 Prompt 实战。内容涵盖界面导航、参数调优及版本管理,助您灵活构建专属 AI 应用。通过真实案例演示,让您轻松实现从创意构思到原型部署的全流程,高效释放 Gemini 模型潜能,打造智能化解决方案。

2026.03.23

121

12

Gemini API快速上手:Python调用generateContent完整指南
Gemini API快速上手:Python调用generateContent完整指南

本指南详解如何使用 Python 快速调用 Gemini API 的 generateContent 方法。从环境配置、密钥管理到核心代码实现,逐步演示文本生成、多模态输入及流式响应处理。包含完整示例与错误排查技巧,助开发者轻松集成 Gemini 强大能力,构建高效智能应用,开启 AI 开发新篇章。

2026.03.23

110

11

如何实现Gemini函数调用:Tool Use与外部工具集成教程
如何实现Gemini函数调用:Tool Use与外部工具集成教程

本教程深入解析 Gemini 函数调用机制,详解 Tool Use 配置与外部工具集成流程。从定义函数架构到处理动态参数,手把手教您连接数据库、搜索 API 及自定义服务。通过实战案例,展示如何让 AI 自主规划并执行复杂任务,突破纯文本限制,构建具备真实行动力的智能代理系统。

2026.03.23

185

11

Gemini结构化输出JSON模式:API稳定提取数据实战
Gemini结构化输出JSON模式:API稳定提取数据实战

本实战指南详解如何利用 Gemini API 的 JSON 模式实现结构化数据提取。通过配置响应格式约束,确保模型输出严格符合预定义 Schema,彻底解决解析错误难题。内容涵盖字段定义、类型校验及异常处理,助您在信息抽取、数据清洗等场景中构建高稳定性管道,轻松将非结构化文本转化为可靠的应用数据。

2026.03.23

111

13

Gemini上下文缓存功能:如何大幅降低长对话成本指南
Gemini上下文缓存功能:如何大幅降低长对话成本指南

本指南深入解析 Gemini 上下文缓存(Context Caching)功能,助您大幅降低长对话与大规模文档处理成本。通过复用高频输入的嵌入表示,避免重复计算令牌,显著减少延迟与费用。内容涵盖缓存创建、管理及最佳实践,特别适合多轮对话、知识库问答等场景,让您在保持高性能的同时,实现极具性价比的 AI 应用部署。

2026.03.23

55

8

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程