手部异常识 API 文档
基础信息
| 项目 | 说明 |
|---|---|
| 默认地址 | http://localhost:5000 |
| Host / Port | 环境变量 API_HOST、API_PORT |
| 跨域 | 已启用 CORS,浏览器跨域可调 |
| 内容类型 | 支持 multipart/form-data 或 application/json |
统一请求体(图片上传)
1. Multipart 表单
Content-Type:multipart/form-data- 字段名:
image(文件)
2. JSON Base64
Content-Type:application/json- 字段:
image_base64或imageBase64 - 可为纯 Base64,或常见 Data URL:
data:image/jpeg;base64,xxxx(前缀会自动截取)
服务端将图片解码为 RGB;解码失败返回 HTTP 400。
通用响应外层
成功时:success === true,业务数据在 data。
失败时:HTTP 400,且:
json
{
"success": false,
"message": "错误说明(中文)",
"data": null
}
检测过程抛错时 message 形如 检测异常: ...。
GET /health
健康检查,无请求体。
响应示例(200):
json
{
"status": "ok"
}
POST /detect
仅返回识别结果 JSON,不返回标注图。
响应 data 结构:
| 字段 | 类型 | 说明 |
|---|---|---|
summary |
string[] |
每项为「类别中文名: 置信度」,稳定命中时带后缀 [稳定](单图 API 通常为模型直接输出,stable 可能为 false) |
detections |
object[] |
见下表 |
hand_count |
number |
检测到的手数量(与 MediaPipe num_hands=2 一致,最多 2) |
detections[] 单项:
| 字段 | 类型 | 说明 |
|---|---|---|
type |
string |
类别键,见文末「类别对照表」 |
class_name |
string |
中文类别名 |
confidence |
number |
置信度,四舍五入到 4 位小数 |
box |
[x1,y1,x2,y2] 或 null |
像素坐标矩形框(左上与右下);可能为 null |
POST /detect_image
与 /detect 相同推理逻辑,额外在 data 内返回 JPEG 标注图 Base64。
额外字段(在 data 根级):
| 字段 | 类型 | 说明 |
|---|---|---|
image_base64 |
string |
JPEG 二进制经 Base64 编码(无 Data URL 前缀) |
可在前端用:data:image/jpeg;base64, + image_base64 拼成 Data URL 显示。
类别对照表(type → 含义)
type |
class_name |
|---|---|
normal |
手部完整 |
nail_art |
美甲 |
wound |
手部伤口 |
ring |
佩戴戒指 |
long_nail |
长指甲 |
fungal_nail |
灰指甲 |
未在表中的 type,接口仍会返回,class_name 为「未知」。