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

在这篇文章中,我会告诉你如何在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. SpringBoot Maven查看依赖树

    dependency:tree -f pom.xml

  2. win10打不出中文的修复方法!

    说明 在Win10系统中,默认自带了中文输入法,使用起来非常的方便,但有时win10系统中自带的输入法会打不出中文的情况,该怎么办呢?遇到这样的问题,我们可以参考下本文中的方法来修复. 步骤: cmd ...

  3. 扬州万方:基于申威平台的 Curve 块存储在高性能和超融合场景下的实践

    背景 扬州万方科技股份有限公司主要从事通信.计算机和服务器.智能车辆.基础软件等产品的科研生产,是国家高新技术企业.专精特新小巨人企业.国家火炬计划承担单位. 业务介绍 申威处理器是在国家" ...

  4. git fetch origin

    可以运行 git fetch origin 来同步远程服务器上的数据到本地.该命令首先找到 origin 是哪个服务器(本例为 git.ourcompany.com),从上面获取你尚未拥有的数据,更新 ...

  5. Fiddler关于https抓包

    一.Fiddler默认只抓取HTTP请求 Fiddler安装后默认只抓取HTTP请求,如要抓取HTTPS请求需要进行证书安装 二.Fiddler导出HTTPS证书 1.勾选HTTPS 工具栏Tools ...

  6. 【Java】在树结构中给节点追加数据

    一.功能需求 有个树状组件,展示区域层级,每个区域节点需要展示该地区下的统计信息 从来没做过,给我整不会了属实是 二.功能分析 原型有功能和老系统代码,查看源码后发现的结构框架 1.树组件是自己用ul ...

  7. 【Excel】VBA编程 02 访问MySQL数据库

    1.配置Windows连接驱动ODBC 因为是访问MySQL,则对应的ODBC驱动由MySQL厂商发布 https://dev.mysql.com/downloads/connector/odbc/ ...

  8. 【H5】01 入门 & 概述

    前言 看了很多教程资料,很难受,东西讲不全,一些属性就是简单的解释就没了,不能追根问底的了解这个东西,所以在后面, 越是学习就越是费解,出现的问题也越来越多.什么快速学完都是不存在的,培训机构的东西也 ...

  9. 【Java】树状节点结构的数据

    数据库的菜单,权限表是具有多层级结构,有ID和PARENT_ID两个关键性的字段 通过PARENT_ID和ID相等构建层级结构: 然后需要在Java中构建出层级的数据结构,然后输出成JSON返回给前端 ...

  10. 如何计算两个正太分布的KL散度 —— 正太分布的KL散度 (Kullback-Leibler divergence) 计算

    参考: https://blog.csdn.net/int_main_Roland/article/details/124650909 给出实现代码: def get_kl(): mean0, log ...