Python+OpenCV:简单图片PS抠图脚本大揭秘!附使用与注意要点
# PS抠图脚本 以下是一个使用Python和OpenCV进行基本抠图的脚本,适用于简单的图片: ```python import cv2 import numpy as np def remove_background(image_path, output_path): # 读取图片 img = cv2.imread(image_path) # 转换为灰度图 gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 应用阈值分割 _, mask = cv2.threshold(gray, 240, 255, cv2.THRESH_BINARY_INV) # 寻找轮廓 contours, _ = cv2.findContours(mask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) # 创建透明 result = np.zeros_like(img, dtype=np.uint8) result[:, :, 3] = 0 # 设置alpha通道为0(透明) # 填充轮廓区域为不透明 cv2.drawContours(result, contours, -1, (255, 255, 255, 255), cv2.FILLED) # 将原图复制到结果中(仅在不透明区域) img_rgba = cv2.cvtColor(img, cv2.COLOR_BGR2RGBA) img_rgba[:, :, 3] = mask # 设置alpha通道 result = cv2.bitwise_and(img_rgba, result) # 保存结果 cv2.imwrite(output_path, result) print(f"抠图完成,结果已保存至: {output_path}") # 使用示例 remove_background('input.jpg', 'output.png') ``` ## 使用说明 1. 安装依赖:`pip install opencv-python numpy` 2. 准备一张较简单的图片(命名为input.jpg) 3. 运行脚本后会生成output.png ## 注意事项 1. 此脚本适合与前景对比明显的图片 2. 对于复杂,可能需要使用更高级的算法如GrabCut 3. 输出格式为PNG以保留透明通道 ## 三条额外需要注意的逻辑点 1. 阈值分割的阈值240可能需要根据具体图片调整 2. 轮廓检测可能无法完美处理毛发等细节 3. 透明处理依赖于PNG格式的alpha通道 ######[AI写代码神器 | 525点数解答 | 2025-03-30 22:31:52]
- Python 运行报错:urllib3 网络连接创建失败,原因及排查建议(字节豆包 | 161点数解答 | 2024-10-31 00:39:36)487
- PS 24.7.0 脚本:轻松修复曝光过度照片,附实用注意事项! (字节豆包 | 166点数解答 | 2025-04-30 10:13:32)247
- PS 24.7.0专用脚本:一键修复曝光过度照片(附代码及注意要点) (阿里通义 | 585点数解答 | 2025-04-30 10:15:33)255
- JSP 实现商品展示模块:分页、搜索、交互与美观界面全搞定!(字节豆包 | 19点数解答 | 2024-12-13 15:00:43)354
- 工程师必知:软件系统用户文档编写九大要点揭秘(百度文心 | 350点数解答 | 2023-11-09 18:23:53)211
- Python 实战:学生信息列表转字典、遍历、深拷贝及数据修改全流程(GPT | 422点数解答 | 2024-10-29 15:43:54)439
- Python实战:学生成绩列表转字典,深拷贝与数据修改操作全解析(字节豆包 | 254点数解答 | 2024-10-29 16:01:39)434
- PyCharm 中用 Selenium 编写自动化测试脚本,轻松登录 eShop 测试平台并点击“我的订单”(字节豆包 | 304点数解答 | 2024-11-06 15:38:30)452
- OpenCV.js 轻松实现图片识别:详细步骤全解析 ( | 824点数解答 | 2024-03-22 16:22:16)203
- OpenCV.js 实战:轻松识别图片中电梯轮廓( | 1193点数解答 | 2024-03-22 16:23:32)218
- 用 C++ 和 OpenCV 生成带随机偏移的圆周上的点:代码剖析(字节豆包 | 29点数解答 | 2024-11-06 23:40:42)271
- 用Python轻松将PPT每页转为图片,附代码示例!(阿里通义 | 315点数解答 | 2024-04-23 10:01:04)1383