STEP #1

(1/2)

此处切换ai服务商,可对比多家ai的回复,取最优解。

上一步下一步关闭
酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

帮我写一个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通道 [2025-03-30 22:31:52 | AI写代码神器 | 525点数解答]

相关提问