← 返回图案点选IMAGE RECOGNITION

图案点选1

上传验证码大图与提示小图,获取按提示顺序排列的坐标,以及标有 1、2、3 顺序记号的拼接图。

Recognition example

识别示例

从两张原图到有序坐标,一眼了解输入与输出。

01 · INPUT

上传大图与小图

验证码大图 300 × 150 px
示例验证码大图,包含行李箱、塔和杯子等图案
提示小图 70 × 20 px · 原始尺寸
示例提示小图,从左到右依次为行李箱、塔、杯子

按小图从左到右的顺序,在大图中定位相应图案。

02 · OUTPUT

返回坐标与标注图

顺序标注与拼接结果
示例识别结果:1 为行李箱,2 为塔,3 为杯子,下方拼接原始提示小图
points · 按提示顺序
[[214, 86], [85, 80], [260, 104]]

坐标以原始大图左上角为原点,不包含拼接边距;不同图片的识别结果不同。

登录后使用在线测试台

接口文档与请求示例可直接查看。

登录并进入测试台 →
API documentation

接口文档

POST /solver/v1/solve/image-click/1 · X-API-Key 鉴权

参数类型说明
big_imagefile · 必填验证码大图,最大 2 MiB;宽高各 32–2048 像素,总像素不超过 2,097,152。
small_imagefile · 必填三个提示图案的小图,最大 2 MiB;宽 9–1024、高 6–512 像素,总像素不超过 262,144。

使用 multipart/form-data 上传 JPEG、PNG 或 WebP 单帧图片,不接受图片 URL、SVG、动图、模型或文件路径。请求库会生成 boundary,不要手工填写 Content-Type。图片按原始像素读取,不依据 EXIF 旋转。

识别只返回本类型验证码的三个图案坐标,不执行站点验证,也不保证所有图片均识别正确。若未检出三个不同目标会返回 422,不填造坐标。单次进程最长运行 60 秒,排队与环境检查另计,客户端建议保留 180 秒等待时间。

Python · 上传两张图片并保存结果
import base64
import os
from pathlib import Path
import requests

with open("big.jpg", "rb") as big, open("small.png", "rb") as small:
    response = requests.post(
        "https://your-host/solver/v1/solve/image-click/1",
        headers={"X-API-Key": os.environ["WANXIANG_API_KEY"]},
        files={
            "big_image": ("big.jpg", big, "image/jpeg"),
            "small_image": ("small.png", small, "image/png"),
        },
        timeout=180,
    )
response.raise_for_status()
result = response.json()
print(result["points"])  # [[x1, y1], [x2, y2], [x3, y3]]
Path("result.png").write_bytes(base64.b64decode(result["annotated_image"]["base64"]))
cURL
curl 'https://your-host/solver/v1/solve/image-click/1' \
  -H "X-API-Key: $WANXIANG_API_KEY" \
  -F 'big_image=@big.jpg' \
  -F 'small_image=@small.png' \
  --max-time 180

响应与计费

points 是按小图顺序排列的三个 [x, y];coordinates 为带 order、x、y 的对象数组。big_image 与 small_image 提供原始宽高;annotated_image 包含 mime_type、base64、width、height。大图保持原始像素后加入边距,小图使用本次上传的原图、保持原始尺寸,透明背景合成到浅色底,编号置于图外;返回坐标始终不含拼接偏移。另有 service、coordinate_system、elapsed_seconds、request_id、quota(limit / used / remaining)。elapsed_seconds 为模型识别耗时,不包含首次加载。

401 / 403:鉴权或登录失败;422:上传参数、图片无效或识别不完整;429:额度不足;503:模型未就绪(未扣费);504:超时,返回 charged=false、charge_units=0 并自动退费;500:内部异常。超时退费记账失败时返回 503 并提示管理员核账。其他已受理失败仍按现有规则扣 1 个额度,不要盲目重复提交。