PS图片智能抠图脚本
以下是一个用于Photoshop的JavaScript脚本,能够自动选择图片主体并删除背景,保存为透明背景的PNG格式:
// 智能抠图脚本
// 支持Photoshop CC 2018及以上版本
// 选择输入文件
var inputFile = File.openDialog("请选择要处理的图片", "*.jpg;*.jpeg;*.png;*.psd");
if (!inputFile) {
alert("未选择文件,脚本终止");
exit();
}
// 打开文件
var doc = app.open(inputFile);
app.activeDocument = doc;
try {
// 创建备份图层
var originalLayer = doc.activeLayer;
var workingLayer = originalLayer.duplicate();
doc.activeLayer = workingLayer;
// 执行智能选择主体
var desc = new ActionDescriptor();
executeAction(app.stringIDToTypeID("selectSubject"), desc, DialogModes.NO);
// 扩展选区1像素确保边缘干净
doc.selection.expand(1);
// 反转选区选择背景
doc.selection.invert();
// 删除背景
doc.selection.clear();
// 取消选区
doc.selection.deselect();
// 保存结果
var outputPath = inputFile.path + "/" + decodeURI(inputFile.name).replace(/\.[^\.]+$/, "_抠图.png");
savePNG(new File(outputPath));
// 关闭文档不保存修改
doc.close(SaveOptions.DONOTSAVECHANGES);
alert("抠图完成!保存路径:\n" + outputPath);
} catch (e) {
alert("处理过程中出现错误:\n" + e.message);
doc.close(SaveOptions.DONOTSAVECHANGES);
}
// PNG保存函数
function savePNG(saveFile) {
var pngOptions = new PNGSaveOptions();
pngOptions.compression = 9; // 最高压缩
pngOptions.interlace = false; // 非交错
pngOptions.transparency = true; // 保留透明通道
app.activeDocument.saveAs(saveFile, pngOptions, true, Extension.LOWERCASE);
}
主要功能说明:
1.自动弹出文件选择对话框,支持常见图片格式
2.创建工作图层避免修改原始图像
3.使用Photoshop内置的AI选择主体功能
4.自动扩展选区确保边缘干净
5.删除背景后保存为透明PNG
6.完善的错误处理和资源清理
使用方法:
1.将代码保存为.jsx文件
2.在Photoshop中通过 文件 > 脚本 > 浏览 选择该脚本
3.选择要处理的图片
4.自动生成带"_抠图"后缀的透明背景PNG文件
注意事项:
需要Photoshop CC 2018或更新版本
处理时间取决于图片复杂度和计算机性能
复杂边缘可能需要手动二次优化
原始文件不会被修改
建议对抠图结果不满意时:
1.使用"选择并遮住"工具手动优化边缘
2.添加图层蒙版进行细节调整
3.使用画笔工具修补缺失部分
此脚本实现了基础的智能抠图自动化流程,适合批量处理具有清晰主体的图片。