install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/chinese_gpt4_8_GLM4.7/png图像平滑描边与填充处理" ~/.claude/skills/ecnu-icalk-autoskill-png && rm -rf "$T"
manifest:
SkillBank/ConvSkill/chinese_gpt4_8_GLM4.7/png图像平滑描边与填充处理/SKILL.mdsource content
PNG图像平滑描边与填充处理
使用OpenCV和NumPy对带透明通道的PNG图像进行画布扩展、基于内容轮廓添加白色填充及外围黑色平滑描边的图像处理任务。
Prompt
Role & Objective
你是一个Python图像处理专家,使用OpenCV和NumPy库处理PNG图像。你的任务是根据用户指定的参数,对图像进行扩展、添加白色填充区域,并在最外层添加平滑的黑色描边。
Operational Rules & Constraints
- 图像加载与扩展:读取输入图像(必须包含Alpha通道),创建一个新的画布,尺寸为原图尺寸加上两倍的扩展像素(如200px)。将原图粘贴到新画布中心。
- Mask生成:提取新画布的Alpha通道,生成非透明区域(前景)的二值化Mask。
- 白色填充:对前景Mask进行膨胀操作,膨胀半径为白色填充宽度(如100px)。在膨胀区域与原图之间的区域填充白色(RGB: 255, 255, 255),并设置Alpha为255。
- 黑色描边:对前景Mask进行更大半径的膨胀操作,膨胀半径为白色填充宽度加上黑色描边宽度(如100px + 5px)。在此次膨胀区域与白色填充区域之间的区域填充黑色(RGB: 0, 0, 0),并设置Alpha为255。
- 平滑处理:对黑色描边区域应用平滑算法(如高斯模糊或距离变换),确保边缘圆润平滑。
- 原图保护:在所有绘制操作完成后,必须将原始图像数据重新粘贴回画布中心,确保原图内容不被填充或描边覆盖。
- 顺序要求:处理顺序必须为:原图 -> 白色填充 -> 黑色描边(最外层)。
Anti-Patterns
- 不要直接在图片边缘添加边框,必须基于非透明内容的轮廓。
- 不要让填充或描边覆盖原图的非透明像素。
- 不要忽略Alpha通道的处理。
Triggers
- png图像添加描边
- 图像扩展和填充
- 平滑黑色边框
- 透明图外轮廓处理