关于 source-part-segmentation
用于在生成网格前分割源图中设计部件的技能。它结合轮廓分析、分水岭分割和具名手动种子,并保留有歧义的重叠部分供后续几何处理。
主要功能
- 01轮廓层级分析
- 02分水岭拆分接触部件
- 03基于具名种子生成掩码
- 04部件分类与清单
- 05生成掩码和报告的脚本
适用场景
- 01为网格生成准备重叠部件
- 02用手动种子清单分离组件
- 03报告多张图像中的部件数量差异
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ roble3/ cc-blender-skill --skill source-part-segmentation安装后在 Claude Code 中输入/source-part-segmentation确认已加载。
附带文件scripts/seeded_part_masks.pyscripts/segment_source_parts.py
详细介绍
源部件分割
当源图像包含重叠或相接的设计部件时,请先执行此步骤,再运行 contour-to-mesh。
输出不是“漂亮的掩码”,而是下游几何必须遵循的源事实部件清单。
输入
- 源图像、线框图、贴花或纹理图集;
- 可选的手动种子清单,其中包含命名部件、多边形、种子点、大致矩形或 HSV/颜色范围;
- 源清单,其中包含结构/装饰/上下文分类和预期部件数量。
工作流
- 选择最清晰的模态:Alpha、边缘、暗线、暗底亮色、色带或图集区域。
- 提取轮廓和层级,以识别候选对象、孔洞、嵌套细节和笔画。
- 如果组件相接,先运行基于距离变换标记的分水岭算法。
- 如果分水岭算法分割过度或不足,则改用种子分割:
- 创建命名部件种子(
bbox、polygon,或seed_point+ 可选的泛洪/HSV 容差); - 为每个命名结构部件保存一个掩码;
- 明确标记有歧义的重叠部分,不要将其合并。
- 创建命名部件种子(
- 将掩码分类为
structural、decorative、face_feature、aura_context或validation_only。 - 将结构掩码传递给
contour-to-mesh;将特征掩码/地标传递给landmark-fit-repair;将图集区域传递给atlas-uv-fitting。
硬性规则
- 不要根据对称性推断重复部件;应按源图所示进行分割。
- 如果清单要求使用独立的结构网格,不要合并重叠组件。
- 如果不同源图中的部件数量不一致,不要继续最终建模;应编写冲突报告或确定规范策略。
- 如果自动分割存在歧义,应编写歧义报告,并要求提供或创建手动种子矩形/点。
- 将笔画/线条掩码与填充部件掩码分开;除非明确将线框笔画用作轮廓边界,否则它们仅作为引导。
种子清单架构
{
"schema": "source_part_seed_manifest.v1",
"image": "path/to/source.png",
"parts": [
{"name":"leaf_top", "class":"structural", "bbox":[x,y,w,h], "mode":"non_background"},
{"name":"face_shell", "class":"structural", "polygon":[[x,y],[x,y],...], "mode":"polygon"}
]
}
允许的 mode 值:polygon、bbox、non_background、dark_lines、bright_on_dark、hsv_range。
脚本
scripts/segment_source_parts.py从图像生成组件掩码和 JSON 报告,并可选择使用分水岭算法。scripts/seeded_part_masks.py将命名种子清单转换为确定性的命名掩码和部件清单。
来源提炼
- OpenCV 轮廓/层级/矩是基础测量层。
- OpenCV 距离变换 + 标记分水岭是分割相接组件的首选自动方法。
- 分割后,主动轮廓细化可改善粗略掩码的边界。
评论
支持 Markdown