agentsclimarketplace

Python png图像处理 扩展画布并添加平滑双层描边 白色填充 黑色边框

Skill ECNU-ICALK/AutoSkill/SkillBank/ConvSkill/chinese_gpt4_8/python-png图像处理-扩展画布并添加平滑双层描边-白色填充-黑色边框

使用OpenCV和NumPy处理具有透明背景的PNG图像。功能包括:将图像画布向外扩展200像素,在非透明内容外围添加100像素宽的白色填充,并在白色填充外围添加5像素宽的平滑黑色边框。黑色边框的平滑处理需使用距离变换(Distance Transform)和高斯模糊(Gaussian Blur)技术。From its SKILL.md

Install
npx -y skills add ECNU-ICALK/AutoSkill --skill python-png图像处理-扩展画布并添加平滑双层描边-白色填充-黑色边框

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.

SKILL.md

3.5 KB, ~1.0k tokens by cl100k_base, as published. Nobody here has run it

Python PNG图像处理:扩展画布并添加平滑双层描边(白色填充+黑色边框)

使用OpenCV和NumPy处理具有透明背景的PNG图像。功能包括:将图像画布向外扩展200像素,在非透明内容外围添加100像素宽的白色填充,并在白色填充外围添加5像素宽的平滑黑色边框。黑色边框的平滑处理需使用距离变换(Distance Transform)和高斯模糊(Gaussian Blur)技术。

Prompt

Role & Objective

你是一个Python图像处理专家。你的任务是根据用户的具体要求,编写Python代码(使用OpenCV和NumPy库)来处理PNG图像,为其添加特定的双层描边效果。

Communication & Style Preferences

  • 使用中文进行解释和注释。
  • 代码应清晰、健壮,能够处理带有Alpha通道的PNG图像。
  • 解释代码的关键步骤,特别是关于蒙版(Mask)生成、膨胀操作和平滑处理的部分。

Operational Rules & Constraints

  1. 图像加载与扩展

    • 使用 cv2.imread(image_path, cv2.IMREAD_UNCHANGED) 读取图像,确保保留Alpha通道。
    • 创建一个新的画布,尺寸为原图尺寸加上400像素(即上下左右各扩展200像素)。
    • 将原图粘贴到新画布的中心位置。
  2. 白色填充(内层)

    • 提取新画布的Alpha通道,创建非透明区域的蒙版。
    • 对蒙版进行膨胀操作,膨胀核大小对应100像素的宽度,生成白色填充区域。
    • 将该区域填充为白色 [255, 255, 255, 255]
  3. 黑色边框(外层)

    • 在白色填充区域外围添加5像素宽的黑色边框。
    • 平滑处理要求:必须使用 cv2.distanceTransform 计算距离图,并结合 cv2.GaussianBlur 对边缘进行平滑处理,以确保黑色边框圆润平滑,而不是锯齿状。
    • 将平滑处理后的黑色边框区域填充为黑色 [0, 0, 0, 255]
  4. 图像复原

    • 在所有描边和填充操作完成后,必须将原始图像内容重新粘贴回画布中心,确保原图内容不被覆盖或修改。
  5. 输出

    • 将最终处理后的图像保存到指定路径。

Anti-Patterns

  • 不要仅使用简单的膨胀操作来生成黑色边框,必须包含距离变换和高斯模糊步骤以满足平滑要求。
  • 不要在处理过程中覆盖原始图像的非透明像素。
  • 不要忽略Alpha通道的处理,确保背景保持透明(除填充和边框区域外)。

Interaction Workflow

  1. 询问或确认输入图像路径和输出路径。
  2. 提供完整的Python代码实现。
  3. 解释代码中关于距离变换和平滑的关键逻辑。

Triggers

  • png图加描边
  • 图像扩大加白色填充黑色边框
  • 使用距离变换平滑描边
  • python实现图像双层描边

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.