Skip to content

屏幕图像推送

将屏幕指定区域的图像直接推送到自定义的 API 服务进行处理,适用于各种图像识别场景。

应用场景

这个接口特别适合以下场景:

  • 🔤 OCR文字识别 - 集成第三方OCR服务(如 PaddleOCR、Tesseract等)
  • 🎯 验证码识别 - 使用专门的验证码识别服务
  • 🖼️ 图像分类 - 识别图片内容、物体检测
  • 🤖 AI识别 - 集成任何自定义的图像AI模型

💡 工作原理

推流端 → 截取图像 → 直接POST → 你的API → 返回结果

图像从推流端直接发送到你的API,节省了解码和多余的传输步骤,提高效率。

与 getScreenShot 的区别

对比说明

特性screenPushgetScreenShot
数据流向推流端 → 你的API推流端 → iClick主进程 → 调用方
传输次数1次(直接推送)2次(先传主进程,再传API)
资源占用低(不经过主进程)高(需要在主进程解码传递)

接口说明

接口类型

screenPush

参数

参数名类型必填说明
apistring你的API服务地址
argsobject自定义参数对象,会原样传递给API服务器
qualitynumber图像质量 (0-1),默认 0.8
scalenumber缩放比例 (0-1),默认 1.0

请求格式

iClick 会向你的 API 发送 POST 请求,为了节省不必要的资源,screenPush推流端推送成功后,不会等待结果并返回给调用方,screenPush永远只会返回true,你需要自己实现业务回调逻辑

请求头:

Content-Type: multipart/form-data

请求体:

image: <图片二进制数据(屏幕截图)>

如果提供了 args 参数,所有字段会作为额外的 form 字段传递:

image: <图片二进制数据>
rect: [100, 100, 500, 200]     // 如果 args.rect 存在
customField: "value"            // 你的自定义字段
...

基本使用

javascript
// 识别验证码示例
await apiInvoke('screenPush', {
    api: 'http://localhost:5000/resolve_captcha',
    args: {
        rect: [100, 300, 275, 360],  
        type: 'digits',
        ...
    }
});

商务合作:try.catch@foxmail.com