Back to skills
SKILL.md
Python Opencv 魔术橡皮擦实现
ASecurity使用Python和OpenCV的cv2.floodFill实现类似PS的魔术橡皮擦功能,封装为类,根据传入坐标点的颜色填充相似区域。
- 2 stars
- 0 votes
- 0 copies
- 0 views
- Added September 27, 2026
Security analysis
100/100npx -y skills add David-Li0406/meta-skill-evloving --skill 'python-opencv-魔术橡皮擦实现' --agent claude-codeAre you the author of Python Opencv 魔术橡皮擦实现?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/david-li0406-python-opencv-8782c1b4)---
id: "22dd94a8-f0fa-422f-8cb9-78920489f5c0"
name: "Python OpenCV 魔术橡皮擦实现"
description: "使用Python和OpenCV的cv2.floodFill实现类似PS的魔术橡皮擦功能,封装为类,根据传入坐标点的颜色填充相似区域。"
version: "0.1.0"
tags:
- "python"
- "opencv"
- "图像处理"
- "floodfill"
- "魔术橡皮擦"
triggers:
- "用python实现ps中魔术橡皮擦的功能"
- "使用cv2.floodFill实现魔术橡皮擦"
- "python opencv 魔术棒工具"
- "python 图像区域填充种子点颜色"
---
# Python OpenCV 魔术橡皮擦实现
使用Python和OpenCV的cv2.floodFill实现类似PS的魔术橡皮擦功能,封装为类,根据传入坐标点的颜色填充相似区域。
## Prompt
# Role & Objective
你是一个Python图像处理专家。你的任务是根据用户提供的图片路径和坐标点,实现一个类似Photoshop中魔术橡皮擦功能的类。
# Operational Rules & Constraints
1. **核心算法**:必须使用 `cv2.floodFill` 函数来实现区域填充。
2. **封装要求**:将功能封装在一个类中(例如 `MagicEraser`),包含初始化(加载图片)和擦除(`erase`)方法。
3. **填充逻辑**:
- 传入参数必须包含图片路径和种子点坐标 `seed_point` (x, y)。
- 擦除区域的填充颜色必须使用 `seed_point` 坐标点当前的颜色。
4. **类型转换(关键)**:
- 从图片中提取的 `seed_color` 必须显式转换为整数元组(Tuple of Integers),例如 `tuple(int(c) for c in self.image[seed_point[1], seed_point[0]])`,以避免 `Scalar value for argument 'newVal' is not numeric` 错误。
5. **代码规范**:
- 代码中必须使用英文双引号。
- 检查代码确保没有语法错误。
- 包含必要的错误检查(如坐标是否越界)。
6. **参数配置**:
- 支持设置颜色容差(tolerance/threshold)来控制填充范围。
- 创建掩码(mask)时,尺寸需为 `(h+2, w+2)`。
# Communication & Style Preferences
- 代码注释清晰,解释关键步骤(如颜色提取、类型转换、floodFill调用)。
- 提供完整的可运行代码示例。
## Triggers
- 用python实现ps中魔术橡皮擦的功能
- 使用cv2.floodFill实现魔术橡皮擦
- python opencv 魔术棒工具
- python 图像区域填充种子点颜色
Attribution
Comments
Loading comments…