探秘高逼格艺术二维码的制作过程-AI绘画文生图
前几天看到几个逼格比较高的二维码,然后自己动手做了一下,给大家看看效果:
1、文生图(狮子):

2、文生图(城市):

下边将开始介绍怎么做的,有兴趣的可以继续读一读。
这里使用的AI绘图工具是Stable Diffusion,没有的同学需要去部署一个,计算平台国内建议使用AutoDL,国外可以白嫖Kaggle的算力,这两个我都用过。具体怎么部署网上已经有很多教程,这里就不多说了,如果大家希望我再写一篇部署说明,请在评论区留言,人多了可以考虑。
生成艺术二维码有两种方法:
一是直接使用提示词,也就是文生图,这样出来的二维码比较漂亮,但是细节很难控制。
二是使用图生图,复刻现有图片的构图或者姿势,这样容易控制细节,但是图像不那么漂亮。
由于内容比较多,这篇文章先讲文生图,图生图后边再开一篇。
文生图
这里文生图用到的模型是:revAnimated,大家可以去huggingface下载,参考地址:https://huggingface.co/hanafuusen2001/ReVAnimated/tree/main
1、我们以生成狮子二维码为例,这里给的提示词都是关于生成狮子的,二维码部分在后边。
提示词:Full Photo shot of a lion, Yoji Shinkawa style, Jean-baptiste Monge, general plan, central composition, entirely on a sheet, Ink painting, expressive painting, watercolor, bold brushstrokes, Concept art, orange, (purple:1.2), gray and white, stylize, intricate detail, 8k, transparent background, (white background:1.4), 3D vector
反向提示词: Watermark, Text, censored, deformed, bad anatomy, disfigured
2、首先看下几个主要参数:
- 采样器: DPM++ 2M Karras
- 采样步数:30
- 分辨率 768 x 768
- 提示词引导系数: 11

3、然后我们添加两个ControlNet,用来控制二维码部分的处理。这两个ControlNet都需要将待合成的二维码上传上去。

(1)先看第一个ControlNet的配置,主要是将二维码的黑白对比度融入到图像中。
注意这里设置的几个参数:
- Control Type:All
- 预处理器:inpaint_global_harmonious
- ControlNet模型:control_v1p_sd15_brightness
- 控制权重:0.35,如果画面太灰,试试调高这个权重。

(2)再看第二个ControlNet的配置,主要是还原二维码细节,让二维码更容易被扫出。
注意这里设置的几个参数:
- Control Type:All
- 预处理器:inpaint_global_harmonious
- ControlNet模型:control_v11f1e_sd15_tile
- 控制权重:0.5,如果不容易扫出,可以增大这个参数。
- Starting Control Step:什么时候开始介入,越早介入,二维码越容易识别。
- Ending Control Step:什么时候结束介入,越晚退出,二维码越容易识别。

4、最后点击生成就可以了。

如果生成的图不美观或者扫不出,可以尝试调整ControlNet的各个参数。
ControlNet
1、ControlNet是什么?
如果我们仅仅使用提示词,不能精确的控制图像的细节,比如让人把手举到什么高度;或者我们只想复制图片中的人脸,其它部分可以自由发挥;再或者这里我们需要一个二维码的底图,这个绘制出的二维码必需能扫描出来,不能随便生成一张。
总结起来就是ControlNet能让设计者复制参考图片的构图或者人体的姿势。
2、相关参数
预处理器:提取参考图的特征,不同的预处理器会提取不同的特征。
模型:实现不同的图像生成控制,比如人体姿势、线条控制、图像深度、配色方案等。
权重:值越大,则生成图越依从参考图,反之则越依从提示词。
起始/终止控制步数:ControlNet介入图像绘制的起始和终止采样步数,取值范围0-1,是个百分比。
对于二维码的例子可以调整权重和开始步骤控制图片展示效果和二维码识别率。
其它
另外测试发现色彩明亮、2.5D或者3D模型的效果更好,比如我尝试了“国风3”这个模型,感觉出图效果也还可以,有兴趣的可以试试。
以上就是本文的主要内容了,后续我会继续分享AI应用方面的东西,大家有兴趣的及时加我关注(微信公众号:萤火遛AI),以免错过精彩内容。
探秘高逼格艺术二维码的制作过程-AI绘画文生图的更多相关文章
- 分享:Java 开发精美艺术二维码
博客地址:https://ainyi.com/58 Java 开发精美艺术二维码 看到网络上各种各样的二维码层出不穷,好像很炫酷的样子,一时兴起,我也要制作这种炫酷二维码效果 例如: 根据以往例子 根 ...
- 通通WPF随笔(3)——艺术二维码素材生成器
原文:通通WPF随笔(3)--艺术二维码素材生成器 最近公司让我开发一个条形码的生成控件,花了半天时间搞定觉得不过瘾,什么年代了该用二维码了吧.于是wiki了一下二维码的资料. 比较常见的就是QR码( ...
- Java生成艺术二维码也可以很简单
原文点击: Quick-Media Java生成艺术二维码也可以很简单 现在二维码可以说非常常见了,当然我们见得多的一般是白底黑块,有的再中间加一个 logo,或者将二维码嵌在一张特定的背景中(比如微 ...
- Java二维码的制作
二维码现在已经到处都是了,下面是二维码的介绍 :二维码 ,又称 二维条码 , 二维条形码最早发明于日本,它是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的,在 ...
- html5调用手机本地摄像头和相册识别二维码详细实现过程
项目中有用到h5识别我们的单据,单据上面有二维码. 实现的场景就是业务人员扫码 类似以下场景 业务员拿到单据以后,直接可以扫码进入相关单据业也可以 输入二维码下方的号码进行识别 下面是h5的页面构造 ...
- 从零玩转JavaWeb系列7web服务器-----用户登录界面二维码的制作
1.用eclipse工具新建一个Dynamic Web Project工程如下: 2.在Java Resources的src目录下新建一个包,包名称为com.it666.code 3.在com.it6 ...
- iOS系统原生 二维码的生成、扫描和读取(高清、彩色)
由于近期工作中遇到了个需求:需要将一些固定的字段 在多个移动端进行相互传输,所以就想到了 二维码 这个神奇的东东! 现在的大街上.连个摊煎饼的大妈 都有自己的二维码来让大家进行扫码支付.可见现在的二维 ...
- 使用 Python 生成二维码
在“一带一路”国际合作高峰论坛举行期间, 20 国青年投票选出中国的“新四大发明”:高铁.扫码支付.共享单车和网购.其中扫码支付指手机通过扫描二维码跳转到支付页面,再进行付款.这种新的支付方式,造就二 ...
- [开源]C#二维码生成解析工具,可添加自定义Logo
二维码又称 QR Code,QR 全称 Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的 Bar Code 条形码能存更多的信息,也能表示更多的数据类型:比如:字 ...
- iOS开发-二维码
二维码 从ios7开始集成了二维码的生成和读取功能 此前被广泛使用的zbarsdk目前不支持64位处理器 生成二维码的步骤: 倒入CoreImage框架 通过滤镜CIFilter生成二维码 二维码的内 ...
随机推荐
- [Java SE]Java方法的参数传递机制:值传递
1 案例引入:实验源码 [案例结论] 若调用方client想通过修改方法updateMethod(oldObject)对调用方所在的引用对象(非基本数据类型)oldObject的属性值进行修改,则: ...
- 【LeetCode回溯算法#extra01】集合划分问题【火柴拼正方形、划分k个相等子集、公平发饼干】
火柴拼正方形 https://leetcode.cn/problems/matchsticks-to-square/ 你将得到一个整数数组 matchsticks ,其中 matchsticks[i] ...
- 点亮LED灯_STM32第一课
基本原理 初始化Hal库 HAL_Init(); 系统时钟 SystemClock_Config(); GPIOB初始化:GPIOB模式为推挽输出,GPIO引脚为Pin_5.0.1代表红绿蓝LED ...
- ORA-17629: Cannot connect to the remote database server
rman远程连接目标库,提示报错ORA-17629: Cannot connect to the remote database server,首先排查网络问题是否通路,结果发现目标端防火墙是开着的, ...
- 还原win10任务管理器的内存dump功能之——程序逆向分析(待完成)
逆向分析工作基本完成,笔记待完成.
- golang 必会之 pprof 监控系列(5) —— cpu 占用率 统计原理
golang pprof 监控系列(5) -- cpu 占用率 统计原理 大家好,我是蓝胖子. 经过前面的几节对pprof的介绍,对pprof统计的原理算是掌握了七八十了,我们对memory,bloc ...
- FBV和CBV的区别(源码分析)
FBV和CBV源码分析 FBV直接调用user方法执行业务代码 CBV相当于在FBV上面封装了一层 from django.contrib import admin from django.urls ...
- 迁移学习(COAL)《Generalized Domain Adaptation with Covariate and Label Shift CO-ALignment》
论文信息 论文标题:Generalized Domain Adaptation with Covariate and Label Shift CO-ALignment论文作者:Shuhan Tan, ...
- json解析异常显示{“$ref“:“$[0]“}
在编写测试代码实现一个组织架构树的功能时,部门的parent部门没有显示,出现了json解析异常错误[{"r e f " : " ref":"ref& ...
- Costura.Fody 使用问题
1. Costura.Fody 引用后,未能正常合并资源文件.用着用着就不行了 解决方案:在csproj所在的文件目录,找到FodyWeavers.xml,添加<Costura/> 1 & ...