在摄影中,光线起着至关重要的作用,它对图像的整体质量和氛围有着显著的影响。您可以使用光线来增强主题,创造深度和维度,传达情感,以及突出重要细节。

在这篇文章中,我会告诉你如何在stable diffussion中控制生成图片的光线。

软件

我们将使用 AUTOMATIC1111 Stable Diffusion GUI 来创建图像。

使用光线关键词

最简单的控制光线的方法就是在提示中添加光线关键词

我将使用以下基础提示和负面提示来说明效果。

正向提示词:

masterpiece,best quality,masterpiece,best quality,official art,extremely detailed CG unity 8k wallpaper,a beautiful woman,

负向提示词:

lowers,monochrome,grayscales,skin spots,acnes,skin blemishes,age spot,6 more fingers on one hand,deformity,bad legs,error legs,bad feet,malformed limbs,extra limbs,

模型:majicmixRealistic_v7

宽度:512

高度:768

CFG 刻度:7

下面是使用基础提示词生成的图片,他们看起来还不错,但是光线就不怎么样了。

Volumetric lighting是在图像上明显的光束。它在摄影中用于增加体积感。

在提示中添加关键词Volumetric lighting

rim lighting为主题添加了明亮的轮廓。它可能会使主题变暗。您可以与其他光线术语结合使用以照亮主题。

在提示中添加关键词rim lighting

Sunlight为图像添加了阳光。它倾向于呈现自然背景。

在提示中添加关键词Sunlight

Backlight将光源置于主题之后。通过添加这个关键词,您可以产生一些时尚的效果。

在提示中添加Backlight

众所周知,Stable Diffusion 在没有引导的情况下不会产生黑暗的图像。

解决这个问题的方法有很多,包括使用模型和 LoRA。但更简单的方法是添加一些昏暗的光线关键词。

在提示中添加dimly lit

Crepuscular rays在云层中添加了光线穿透的光线。它可以创造出令人惊叹的视觉效果。

这个提示和肖像宽高比通常呈现全身图像,添加Crepuscular rays会放大。

技巧:

  • 如果您没有看到效果,请增加关键词的权重。

  • 这些光线关键词并不总是有效。一次生成几张图像进行测试。

  • 在提示生成器中找到更多的光线关键词。

控制特定区域的光线

提示中的光线关键词适用于整个图像。这里我会告诉你如何控制特定区域的光线。

这里你需要安装一个插件叫做regional Prompter。

下载地址如下: https://github.com/hako-mikan/sd-webui-regional-prompter.git

安装好之后,可以在工作区的下方发现这个Regional Prompter的区域。

在这个例子中,我们将对图像的上部和下部应用不同的光线。

txt2img页面上,展开regional Prompter部分。

按我上面的选择进行设置。

基本上含义就是把图片按2:3的比例分割成两部分,来分别进行promot设置。

regional Prompter是一个非常强大的工具,可以产出非常惊艳的效果。我会在后续的文章中详细介绍regional Prompter。

这里只是作为一个使用场景。

我们改下输入提示:

正向提示词:

masterpiece,best quality,masterpiece,best quality,official art,extremely detailed CG unity 8k wallpaper,a beautiful woman,
BREAK
( hard light:1.2),(volumetric:1.2),well-lit,
BREAK
(dimly lit:1.4),

负面提示词保持不变。

这样我们的到了一个上面光亮,下面昏暗的图片。

现在尝试交换光线分配。

masterpiece,best quality,masterpiece,best quality,official art,extremely detailed CG unity 8k wallpaper,a beautiful woman,
BREAK
(dimly lit:1.4),
BREAK
( hard light:1.2),(volumetric:1.2),well-lit,

光线相应地交换。

技巧:

  • 如果您没有看到效果,请调整关键词的权重。

  • 区域提示并不总是100%有效。可以多尝试一些图片看看效果。

使用 ControlNet 控制光线

除了上面的提示词和regional Prompter来控制光线之外。我们还可以使用controlNet来对图片的光线进行更加精确的控制。

controlNet是一个单独的插件,所以你需要先安装它。

Txt2img 设置

安装好controlNet之后,在txt2img页面上,像平常一样生成图像。

点击发送到 img2img

这个操作会把所有的提示,负面提示,图像大小和种子值拷贝到 img2img 页面。

Img2img 设置

img2img页面上,导航到 ControlNet 部分。

将您刚刚保存的图像上传到ControlNet 单元 0

大家可以使用我的配置选项。

这里我们需要选择Depth模型,在preprocessor中选择depth_zoe,model选择control_xxxx_depth。

向上滚动到img2img 画布。删除图像。

然后使用画图工具绘制一个黑白的模板图。

白色代表光线。

如下所示:

把这个图像上传到img2img 画布

调整大小模式设置为仅调整大小。

去噪强度设置为 0.9。

点击生成

您应该得到带有横向光源的图像。

如果你不想创建自己的光源,那么可以baidu一下黑白光源图片:

比如第一张光源图片,我们可以得到下面的图片:

备注

不一定必须使用深度控制模型。其他模型,如 canny 和lineart模型,也可以工作。你可以尝试使用预处理器,看看哪一个适合你。

如果您看到不自然的颜色,请减少Controlnet 权重

调整去噪强度并观察效果。

点我查看更多精彩内容:www.flydean.com

在stable diffussion中控制生成图片的光线的更多相关文章

  1. Java经典实例:在正则表达式中控制大小写

    默认是:区分大小写的: 传递标志参数:Pattern.CASE_INSENSITIVE,以说明匹配时忽略大小写:如果你的代码运行在不同的地区那么你应该再添加一个Pattern.UNICODE_CASE ...

  2. android开发之在activity中控制另一个activity的UI更新

    转自:http://blog.csdn.net/jason0539/article/details/18075293 第一种方法: 遇到一个问题,需要在一个activity中控制另一个acitivit ...

  3. <td style="word-break:break-all"> 在html中控制自动换行

    在html中控制自动换行   其实只要在表格控制中添加一句 <td style="word-break:break-all">就搞定了. 其中可能对英文换行可能会分开一 ...

  4. 深度分析如何在Hadoop中控制Map的数量

    深度分析如何在Hadoop中控制Map的数量 guibin.beijing@gmail.com 很多文档中描述,Mapper的数量在默认情况下不可直接控制干预,因为Mapper的数量由输入的大小和个数 ...

  5. 在代码中控制UI界面

    虽然Android推荐使用XML布局文件来控制UI界面,但如果开发者愿意,Android允许开发者完全抛弃XML布局文件,完全在Java代码中控制UI界面. 实例:用编程的方式开发UI界面 packa ...

  6. JFinal配合Shiro权限控制在FreeMarker模板引擎中控制到按钮粒度的使用

    实现在FreeMarker模板中控制对应按钮的显示隐藏主要用到了Shiro中的hasRole, hasAnyRoles, hasPermission以及Authenticated等方法,我们可以实现T ...

  7. 【Spark篇】---Spark中控制算子

    一.前述 Spark中控制算子也是懒执行的,需要Action算子触发才能执行,主要是为了对数据进行缓存. 控制算子有三种,cache,persist,checkpoint,以上算子都可以将RDD持久化 ...

  8. C#的winform中控制TextBox中只能输入数字

    C#的winform中控制TextBox中只能输入数字 private void textBox3_KeyPress(object sender, System.Windows.Forms.KeyPr ...

  9. 在C#中控制ListBox某一行的字体颜色

    例1 private void Form1_Load(object sender, EventArgs e) { listBox1.Items.Add("红色"); listBox ...

  10. 直流电机PWM调速系统中控制电压非线性研究_控制元件_工业自动化控制_文章

    直流电机PWM调速系统中控制电压非线性研究_控制元件_工业自动化控制_文章_e-works数字化企业网 http://articles.e-works.net.cn/Component/Article ...

随机推荐

  1. Vue 框架怎么实现对象和数组的监听?

    如果被问到 Vue 怎么实现数据双向绑定,大家肯定都会回答 通过 Object.defineProperty() 对数据进行劫持,但是 Object.defineProperty() 只能对属性进行数 ...

  2. CSP2023

    坐标HA 背景 NOIP都打完了,CSP-S都没写游记,所以来补一篇(逃-- 正文 Day 7*-1 考前一周停课集训,被whk老师怒斥不务正业,悲QWQ. Day 0 周五得到年级第一zyx的鼓励, ...

  3. ComfyUI进阶:Comfyroll插件 (六)

    ComfyUI进阶:Comfyroll插件 (六) 前言: 学习ComfyUI是一场持久战,而Comfyroll 是一款功能强大的自定义节点集合,专为 ComfyUI 用户打造,旨在提供更加丰富和专业 ...

  4. vue el-input只能输入正整数 替换e - + 等

    示例:输入分页页数,每页显示条数 <el-input type="number" class="resNums" v-model="item.r ...

  5. docker cmd和entrypoint

    FROM scratch 很多镜像都是从他开始 创建自己的centos FROM centos 基于官方的centos开始写 构建自己的centos [root@docker dockerfile]# ...

  6. 【WSDL】WebService描述语言的实践

    问题的产生: 上班写了一个改接口的需求,其中涉及了一个WSDL这么一个概念 WSDL是个啥???? 翻了翻项目,里面就是个文件,以wsdl为后缀名 内容结构和XML相似,或者直接说是XML文件也可以 ...

  7. 【Git】04 文件删除

    版本分支的概念提示: 工作区就是我们的Git本地仓库,也就是一个很普通的目录 . 通过ADD指令添加文件到暂存区中, 在通过COMMIT指令提交到版本分支, 所谓的版本分支,就是就是这个蓝色的Mast ...

  8. 经典视频分享:Machine Learning: A New ICE (Identification, Control, Estimation) Age ? —— 自动控制和人工智能的结合前景

    机器学习作为近几年兴起的学科,虽然他诞生的时间已经而久远了,但是真正走进人们视野也就是这几年的事情. 机器学习领域本身只有强化学习这个分支和控制类是天然关联的,因此近几年国内的知名高校的强化学习研究者 ...

  9. 【转载】 解决VSCode运行或调试python文件无反应的问题

    ---------------- 版权声明:本文为CSDN博主「姜行者」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明.原文链接:https://blog.csdn. ...

  10. 再谈汤普森采样(Thompson Sampling)

    相关: [转载] 推荐算法之Thompson(汤普森)采样 [转载] 推荐系统 EE 问题与 Bandit 算法 python语言绘图:绘制一组beta分布图 转载: beta分布介绍 python语 ...