接口9:头发遮罩生成 + 分步可视化
新增 POST /api/v1/head/mask(worker + 网关代理)与测试页 test_interface9.html:
- MediaPipe 关键点连成额头分割线(21,68,104,69,108,151,337,299,333,298,251,
左端21/右端251 水平延伸到图片边缘),分割线以上为上半区。
- 头发分割 BiSeNet 与 SegFormer 两套并排对比;每列从最顶端头发向下填充到分割线,
得到含额头的闭合区域(不从发际线割断)。
- 外缘朝中心点151内缩 erode_cm(默认1.2cm,页面可调,虹膜标定换算像素)、底线不动。
- 复用现有 detector/hair_segmenter/SegFormer 单例(只读推理),无新依赖;纯新增,
不改动既有接口。
顺带修复接口2 遗留测试 test_grow_female_returns_5:hair_style 自 cb1989c 起必填,
补上 hair_style=1,2,3,4,5。全套 42 passed。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -210,6 +210,7 @@ async def index():
|
||||
"if5_hairline": "/static/test_interface5.html",
|
||||
"if6_measure_v2": "/static/test_interface6.html",
|
||||
"if7_hair_grow_v2": "/static/test_interface7.html",
|
||||
"if9_head_mask": "/static/test_interface9.html",
|
||||
},
|
||||
}
|
||||
|
||||
@@ -593,3 +594,9 @@ async def hairline_generate(request: Request):
|
||||
async def hair_grow_v2(request: Request):
|
||||
"""接口7:C端生发 v2(add_hair2 工作流)"""
|
||||
return await _proxy(request, "/api/v1/hair/grow-v2")
|
||||
|
||||
|
||||
@app.post("/api/v1/head/mask", tags=["人脸分析"])
|
||||
async def head_mask(request: Request):
|
||||
"""接口9:头发遮罩生成 + 分步可视化"""
|
||||
return await _proxy(request, "/api/v1/head/mask")
|
||||
|
||||
Reference in New Issue
Block a user