### 如何在 Stable Diffusion 中使用上传重绘蒙版
#### 准备工作
为了确保能够精确控制哪些部分需要被重新绘制,在准备阶段可以选择使用 Photoshop (PS) 或其他图像编辑软件创建高精度的蒙版。因为直接在 Stable Diffusion 界面内通过鼠标涂鸦可能不够准确,而借助专业的图形处理工具则能更好地定义想要修改的具体区域[^1]。
#### 创建并保存蒙版
当利用 PS 创作好所需的蒙版之后,需将其导出为 PNG 文件格式,并保持透明度信息不变。这是因为 SD 软件读取此类文件时依赖于 alpha 通道来判断哪些像素应该参与后续的艺术创作过程。完成后的文件应与原始待修饰图片尺寸完全一致以便匹配对应关系正常运作。
#### 设置 Stable Diffusion 参数
进入 Stable Diffusion 用户界面后,找到用于指定输入图像及其相应掩码的位置。通常情况下这会涉及到两个独立字段:一个是用来加载源素材的地方;另一个则是专门接收外部导入型遮罩数据的空间。按照指示分别上传之前准备好的底片以及对应的PNG格式蒙板文档[^2]。
#### 执行重绘操作
确认所有必要的配置项均已正确设定完毕以后,就可以点击执行按钮启动算法流程了。此时系统将会基于给定条件自动生成新的视觉效果版本出来。对于希望一次性处理多张相似类型的素材而言,则可考虑启用批量化作业功能简化重复劳动强度。
```python
# 假设有一个简单的Python脚本调用StableDiffusion API来进行单张图片的局部重绘
import requests
def redraw_image(image_path, mask_path):
url = "http://localhost:7860/sdapi/v1/img2img"
payload = {
'init_images': [open(image_path,'rb').read()],
'mask': open(mask_path,'rb'),
'include_init_images': True,
'resize_mode': 0,
'denoising_strength': 0.75,
'image_cfg_scale': 1.5,
'seed': -1,
'subseed': -1,
'batch_size': 1,
'n_iter': 1,
'steps': 50,
'cfg_scale': 7,
'width': 512,
'height': 512,
'restore_faces': False,
'tiling': False,
'negative_prompt': '',
'eta': 0,
's_churn': 0,
's_tmax': None,
's_tmin': 0,
's_noise': 1,
'override_settings_restore_afterwards': True
}
response = requests.post(url,json=payload)
r_json = response.json()
image_data = r_json['images'][0].split(",")[1]
with open('output.png', 'wb') as f:
f.write(base64.b64decode(image_data))
redraw_image('input.jpg','mask.png')
```