SOHE-晨检仪-手部异常识别算法

手部异常识 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 为「未知」。


相关推荐
恋猫de小郭21 分钟前
Flutter THLC 的 WebView 滚动终于从 70 FPS 提升到 120 FPS
android·前端·flutter
严肃小白兔1 小时前
TanStack Router 更新构建工具链:Node.js 兼容性、路由分割与前端工程实践
前端·node.js·状态模式
IT_陈寒1 小时前
Vue这个奇葩的响应式问题让我加班到凌晨
前端·人工智能·后端
风骏时光牛马1 小时前
功能可用性自动化测试验证
前端
LucianaiB11 小时前
【元宝搜索开发者征文大赛】AI时代,学得慢就不用学?用元宝搜索打造一个教程保质期,确保每一个教程符合你的现状
前端·人工智能·ai编程
excel12 小时前
JavaScript 对象池:减少高频对象创建与 GC 压力
前端
陈随易13 小时前
纯 Go 写的 JS 引擎,跑分超过了 C 语言的 QuickJS
前端·后端·程序员
子兮曰15 小时前
Chrome 权限元素实战:144 与 151 的渐进增强写法
前端·javascript·chrome
IT_陈寒15 小时前
Redis连接池泄漏那次,我差点把生产环境搞崩了
前端·人工智能·后端
强尼银手15 小时前
我花一天做了个格斗游戏原型,判定全对,然后被「美术」劝退了
前端·javascript