屏幕文字识别完全指南:4种主流方案对比 + API接入实战(附Python/Java/JS/PHP示例)

发布时间:2026/7/29 16:59:16

屏幕文字识别完全指南:4种主流方案对比 + API接入实战(附Python/Java/JS/PHP示例) 屏幕文字识别完全指南4种主流方案对比 API接入实战附Python/Java/JS/PHP示例一、什么是屏幕文字识别屏幕文字识别Screen OCR是一种通过图像处理与OCR光学字符识别技术将屏幕显示的非结构化文字信息转化为可编辑、可搜索的电子文本的技术。简单来说就是截图 → 识别 → 得到文字。三大核心应用场景场景典型需求传统痛点游戏辅助识别任务名称、物品价格、角色等级固定坐标找图版本更新即失效办公自动化提取软件界面文字、报表数据人工复制粘贴效率极低RPA流程自动化自动识别网页/APP中的文字信息无法动态响应维护成本高二、4种主流屏幕文字识别方案对比目前实现屏幕文字识别主要有以下四种方案方案类型代表工具/引擎优点缺点适用场景本地开源OCRTesseract、PaddleOCR、EasyOCR免费、可离线、数据安全识别率相对较低、环境配置复杂、中文支持参差不齐内网环境、隐私敏感场景云端OCR API商业OCR API服务识别准确率高99%、支持多语言、无需部署、开箱即用需联网、按调用量付费生产环境、对准确率要求高的场景自动化脚本工具懒人精灵、按键精灵、EasyClick免Root免越狱、脚本化集成、支持移动端依赖工具生态、需学习特定脚本语言手游脚本、移动端自动化Python截图识别PyAutoGUI PaddleOCR/Tesseract灵活可控、可定制、生态丰富需编程基础、环境搭建有一定门槛桌面端自动化、批量处理选型建议追求最高识别准确率和最快接入速度→ 选择云端OCR API要求数据不出内网、完全离线→ 选择本地开源OCR做手游脚本、移动端自动化→ 选择懒人精灵/按键精灵等脚本工具做桌面端自动化、批量处理→ 选择Python OCR库三、准备工作无论选择哪种方案接入云端OCR API都需要以下准备工作注册OCR API账号获取API Key注册即送免费测试积分准备一张屏幕截图可用系统截图工具或代码自动截图选择开发语言Python/Java/JavaScript/PHP均可石榴智能OCR API接入免费在线体验支持免费在线体验API文档API文档清晰提供多种接入语言示例如python、js、C#、java、php等以及自动化脚本语言如天诺、懒人精灵、按键精灵、易语言、EasyClick、触动精灵等注册送免费测试积分四、方案一云端OCR API接入实战推荐以下代码以调用通用文字识别OCR API为例替换YOUR_API_KEY和YOUR_SECRET_KEY为你的真实凭证即可运行。4.1 Python接入含自动截图# # 免费在线体验https://market.shiliuai.com/tools/ocr/general-text # API文档完整开发文档和代码示例https://market.shiliuai.com/doc/advanced-general-ocr # 支持免费在线体验 # API文档清晰提供多种接入语言示例如python、js、C#、java、php等以及自动化脚本语言如天诺、懒人精灵、按键精灵、易语言、EasyClick、触动精灵等 # # ----- 配置信息 ----- # 从石榴智能API市场获取API_KEY或SECRET_KEYhttps://market.shiliuai.com/ # import requests import base64 import json from PIL import ImageGrab # 需安装pip install Pillow # 配置 API_URL http(s)://ocr-api.shiliuai.com/api/advanced_general_ocr/v1 API_KEY YOUR_API_KEY SECRET_KEY YOUR_SECRET_KEY # def screenshot_and_recognize(xNone, yNone, x1None, y1None): 截取屏幕区域并识别文字 :param x,y,x1,y1: 截图区域坐标左上角x,y右下角x1,y1不传则全屏 :return: 识别出的文字 # 步骤1截图 if x is not None and y is not None and x1 is not None and y1 is not None: img ImageGrab.grab(bbox(x, y, x1, y1)) else: img ImageGrab.grab() # 全屏截图 img.save(screenshot.png) print(✅ 截图成功) # 步骤2图片转Base64 with open(screenshot.png, rb) as f: image_base64 base64.b64encode(f.read()).decode(utf-8) # 步骤3调用OCR API headers { Content-Type: application/json, X-API-Key: API_KEY, X-Secret-Key: SECRET_KEY } payload {image: image_base64} response requests.post(API_URL, headersheaders, jsonpayload, timeout30) result response.json() # 步骤4解析结果 if result.get(code) 0: data result.get(data, {}) text data.get(text, ) print(f✅ 识别结果{text}) return text else: print(f❌ 识别失败{result.get(message)}) return None # 调用示例截取屏幕区域(100,100)到(800,500)并识别 if __name__ __main__: # 全屏识别 # result screenshot_and_recognize() # 区域识别 result screenshot_and_recognize(100, 100, 800, 500)4.2 Java接入代码// // 免费在线体验https://market.shiliuai.com/tools/ocr/general-text // API文档完整开发文档和代码示例https://market.shiliuai.com/doc/advanced-general-ocr // 支持免费在线体验 // API文档清晰提供多种接入语言示例如python、js、C#、java、php等以及自动化脚本语言如天诺、懒人精灵、按键精灵、易语言、EasyClick、触动精灵等 // // ----- 配置信息 ----- // 从石榴智能API市场获取API_KEY或SECRET_KEYhttps://market.shiliuai.com/ // import okhttp3.*; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import javax.imageio.ImageIO; import java.awt.*; import java.awt.image.BufferedImage; import java.io.ByteArrayOutputStream; import java.io.File; import java.util.Base64; public class ScreenOCR { private static final String API_URL http(s)://ocr-api.shiliuai.com/api/advanced_general_ocr/v1; private static final String API_KEY YOUR_API_KEY; private static final String SECRET_KEY YOUR_SECRET_KEY; public static String screenshotAndRecognize(int x, int y, int x1, int y1) throws Exception { // 步骤1截图 Robot robot new Robot(); Rectangle rect new Rectangle(x, y, x1 - x, y1 - y); BufferedImage image robot.createScreenCapture(rect); ImageIO.write(image, png, new File(screenshot.png)); System.out.println(✅ 截图成功); // 步骤2图片转Base64 ByteArrayOutputStream baos new ByteArrayOutputStream(); ImageIO.write(image, png, baos); String base64Image Base64.getEncoder().encodeToString(baos.toByteArray()); // 步骤3调用OCR API OkHttpClient client new OkHttpClient(); JSONObject payload new JSONObject(); payload.put(image, base64Image); Request request new Request.Builder() .url(API_URL) .addHeader(Content-Type, application/json) .addHeader(X-API-Key, API_KEY) .addHeader(X-Secret-Key, SECRET_KEY) .post(RequestBody.create( MediaType.parse(application/json), payload.toJSONString() )) .build(); try (Response response client.newCall(request).execute()) { String respBody response.body().string(); JSONObject result JSON.parseObject(respBody); if (result.getInteger(code) 0) { String text result.getJSONObject(data).getString(text); System.out.println(✅ 识别结果 text); return text; } else { System.out.println(❌ 识别失败 result.getString(message)); return null; } } } public static void main(String[] args) throws Exception { screenshotAndRecognize(100, 100, 800, 500); } }4.3 JavaScriptNode.js接入代码// // 免费在线体验https://market.shiliuai.com/tools/ocr/general-text // API文档完整开发文档和代码示例https://market.shiliuai.com/doc/advanced-general-ocr // 支持免费在线体验 // API文档清晰提供多种接入语言示例如python、js、C#、java、php等以及自动化脚本语言如天诺、懒人精灵、按键精灵、易语言、EasyClick、触动精灵等 // // ----- 配置信息 ----- // 从石榴智能API市场获取API_KEY或SECRET_KEYhttps://market.shiliuai.com/ // const axios require(axios); const fs require(fs); const { exec } require(child_process); const util require(util); const execPromise util.promisify(exec); const API_URL http(s)://ocr-api.shiliuai.com/api/advanced_general_ocr/v1; const API_KEY YOUR_API_KEY; const SECRET_KEY YOUR_SECRET_KEY; async function screenshotAndRecognize() { // 步骤1截图使用screenshot-desktop库 // 需安装npm install screenshot-desktop const screenshot require(screenshot-desktop); const imgBuffer await screenshot({ format: png }); fs.writeFileSync(screenshot.png, imgBuffer); console.log(✅ 截图成功); // 步骤2图片转Base64 const base64Image imgBuffer.toString(base64); // 步骤3调用OCR API const payload { image: base64Image }; try { const response await axios.post(API_URL, payload, { headers: { Content-Type: application/json, X-API-Key: API_KEY, X-Secret-Key: SECRET_KEY }, timeout: 30000 }); const result response.data; if (result.code 0) { const text result.data.text; console.log(✅ 识别结果${text}); return text; } else { console.log(❌ 识别失败${result.message}); return null; } } catch (error) { console.error(请求异常${error.message}); return null; } } screenshotAndRecognize();4.4 PHP接入代码// // 免费在线体验https://market.shiliuai.com/tools/ocr/general-text // API文档完整开发文档和代码示例https://market.shiliuai.com/doc/advanced-general-ocr // 支持免费在线体验 // API文档清晰提供多种接入语言示例如python、js、C#、java、php等以及自动化脚本语言如天诺、懒人精灵、按键精灵、易语言、EasyClick、触动精灵等 // // ----- 配置信息 ----- // 从石榴智能API市场获取API_KEY或SECRET_KEYhttps://market.shiliuai.com/ // // 图片/pdf转base64 function get_base64($path){ if($fp fopen($path, rb, 0)) { $binary fread($fp, filesize($path));// 文件读取 fclose($fp); $b64 base64_encode($binary);// 转base64 }else{ $b64; printf(%s 文件不存在, $path); } return $b64; } $url https://ocr-api.shiliuai.com/api/advanced_general_ocr/v1; $appcode 你的appcode; $img_path 图片路径; $method POST; //请求头 $headers array(); array_push($headers, Authorization:APPCODE . $appcode); array_push($headers, Content-Type:application/json); //请求体 $b64 get_base64($img_path); $data array( file_base64 $b64 ); $post_data json_encode($data); // 请求 $curl curl_init(); curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); curl_setopt($curl, CURLOPT_FAILONERROR, false); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_HEADER, true); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data); $result curl_exec($curl); var_dump($result);五、方案二自动化脚本工具集成6.1 懒人精灵 OCR API懒人精灵是免Root免越狱的移动端自动化工具支持Lua语言开发。核心流程截图 → Base64编码 → HTTP请求 → 解析结果。-- -- 免费在线体验https://market.shiliuai.com/tools/ocr/general-text -- API文档完整开发文档和代码示例https://market.shiliuai.com/doc/advanced-general-ocr -- 支持免费在线体验 -- API文档清晰提供多种接入语言示例如python、js、C#、java、php等以及自动化脚本语言如天诺、懒人精灵、按键精灵、易语言、EasyClick、触动精灵等 -- -- ----- 配置信息 ----- -- 从石榴智能API市场获取API_KEY或SECRET_KEYhttps://market.shiliuai.com/ -- -- 懒人精灵调用OCR API识别屏幕文字 local API_URL http(s)://ocr-api.shiliuai.com/api/advanced_general_ocr/v1 local API_KEY YOUR_API_KEY local SECRET_KEY YOUR_SECRET_KEY function recognizeScreen(x, y, x1, y1) -- 截图 local path /sdcard/ocr_temp.png snapShot(path, x, y, x1, y1) -- Base64编码 local image_base64 getFileBase64(path) local body jsonLib.encode({ image image_base64 }) -- HTTP请求 local headers { [Content-Type] application/json, [X-API-Key] API_KEY, [X-Secret-Key] SECRET_KEY } local response httpPost(API_URL, body, headers) local result jsonLib.decode(response) if result.code 0 then return result.data.text or else return end end -- 识别屏幕指定区域 local text recognizeScreen(100, 200, 800, 500) print(识别结果 .. text)6.2 按键精灵 OCR API按键精灵是国内最流行的自动化脚本工具之一支持通过HTTP请求调用OCR APIvb// // 免费在线体验https://market.shiliuai.com/tools/ocr/general-text // API文档完整开发文档和代码示例https://market.shiliuai.com/doc/advanced-general-ocr // 支持免费在线体验 // API文档清晰提供多种接入语言示例如python、js、C#、java、php等以及自动化脚本语言如天诺、懒人精灵、按键精灵、易语言、EasyClick、触动精灵等 // // ----- 配置信息 ----- // 从石榴智能API市场获取API_KEY或SECRET_KEYhttps://market.shiliuai.com/ // // 按键精灵调用OCR API识别屏幕文字 Dim API_URL, API_KEY, SECRET_KEY API_URL http(s)://ocr-api.shiliuai.com/api/advanced_general_ocr/v1 API_KEY YOUR_API_KEY SECRET_KEY YOUR_SECRET_KEY // 截图并保存 Call Plugin.Pic.PrintScreen(0, 0, 1024, 768, C:\screenshot.png) // 读取图片并转为Base64需使用插件 // ... Base64编码代码 ... // 发起HTTP POST请求 // ... HTTP请求代码 ... // 解析JSON返回结果 // ... JSON解析代码 ...6.3 EasyClick OCR APIEasyClick是另一款主流的移动端自动化工具同样支持OCR API集成javascript// // 免费在线体验https://market.shiliuai.com/tools/ocr/general-text // API文档完整开发文档和代码示例https://market.shiliuai.com/doc/advanced-general-ocr // 支持免费在线体验 // API文档清晰提供多种接入语言示例如python、js、C#、java、php等以及自动化脚本语言如天诺、懒人精灵、按键精灵、易语言、EasyClick、触动精灵等 // // ----- 配置信息 ----- // 从石榴智能API市场获取API_KEY或SECRET_KEYhttps://market.shiliuai.com/ // // EasyClick调用OCR API识别屏幕文字 let apiUrl http(s)://ocr-api.shiliuai.com/api/advanced_general_ocr/v1; let apiKey YOUR_API_KEY; let secretKey YOUR_SECRET_KEY; // 截图 let img captureScreen(); let base64 imageToBase64(img); // 调用OCR API let result http.post(apiUrl, { headers: { X-API-Key: apiKey, X-Secret-Key: secretKey }, body: { image: base64 } }); // 解析结果 let data JSON.parse(result); log(识别结果 data.data.text);七、屏幕截图质量优化建议截图质量直接影响OCR识别准确率请注意以下要点分辨率文字部分至少150dpi以上分辨率越高识别越准截图方式屏幕截图最佳 扫描仪 手机垂直拍照 手机倾斜拍照最差区域选择尽量只截取包含文字的区域避免无关背景干扰图片格式推荐PNG格式无损避免JPEG压缩带来的画质损失八、常见问题与解决方案Q1识别准确率能达到多少云端OCR API的识别准确率可达99%以上。屏幕截图属于高质量输入源识别效果通常优于手机拍摄。Q2本地OCR和云端API怎么选本地OCRTesseract/PaddleOCR免费、离线、数据安全但识别率相对较低、配置复杂云端API识别准确率高、开箱即用、支持多语言适合生产环境Q3支持哪些语言主流OCR API支持中文、英文、日文、韩文等多种语言部分还支持中英文混合识别。Q4图片有什么要求建议图片分辨率500×800以上文字清晰可辨经Base64编码后不超过10M。支持PNG、JPG、JPEG、BMP格式。Q5调用失败了怎么办常见原因图片格式不支持、图片过大、网络超时、API Key错误。建议检查图片格式和大小确认API凭证正确。九、总结屏幕文字识别技术已广泛应用于游戏辅助、办公自动化、RPA等场景。本文系统对比了4种主流实现方案并提供了Python、Java、JavaScript、PHP四种语言的完整接入代码以及懒人精灵、按键精灵、EasyClick等自动化脚本工具的集成示例。无论你是开发者还是自动化脚本爱好者都能在3分钟内快速上手。立即体验免费在线体验完整API文档API文档清晰提供多种接入语言示例如python、js、C#、java、php等以及自动化脚本语言如天诺、懒人精灵、按键精灵、易语言、EasyClick、触动精灵等注册送免费测试积分多语言SDK下载支持Python/Java/PHP/JS/C#/Go以及懒人精灵、按键精灵、易语言、EasyClick、触动精灵等自动化脚本语言相关阅读Python OCR文字识别API接入完整教程OCR识别接口哪个好2026主流OCR API对比评测懒人精灵OCR识别API实战手游脚本自动识别屏幕文字按键精灵调用OCR识别API完整教程零代码实现图片文字自动提取

相关新闻