探秘高逼格艺术二维码的制作过程-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生成二维码 二维码的内 ...
随机推荐
- [Maven]Maven聚合工程
一直对此问题好奇,正好有这兴致和时间,有必要了解一下. 所谓聚合项目,实际上就是对项目分模块. 互联网项目一般来说按照业务分(订单模块.VIP模块.支付模块.CMS模块-): 传统的软件项目,大多采用 ...
- 打造自己的ChatGPT:OpenAI的API接入技巧
打造自己的ChatGPT:OpenAI 的API接入技巧 2023年3月更新 OpenAI 在3月1日的时候放出了ChatGPT的接口,新的接口可以使用 GPT-3.5 模型,同时接口参数更新为了 m ...
- idea快捷键--增强for循环
增强for循环,用于遍历:数组或单列集合 快捷键: 数组.for
- 【Vue项目】商品汇前台(二)进度条插件+Vuex模块化仓库+函数的防抖与节流+路由传参
前言 1 nprogress进度条的使用 当请求发出进度条出现并向前走,请求成功后进度条消失.nprogress是一种进度条插件 1.1 nprogress进度条插件安装 npm i --save n ...
- Golang爬虫:使用正则表达式解析HTML
之前所写的爬虫都是基于Python,而用Go语言实现的爬虫具有更高的性能. 第一个爬虫 使用http库,发起http请求 package main import ( "fmt" & ...
- 自制ASP.NET 本地授权文件
asp.net登录时验证本地ini文件是否正确,主要步骤. 1.导入myini.DLL文件. 下载地址:http://yunpan.cn/cKw9kHJUk9Ui8 提取码 6631 2.添加引用 ...
- 2020-11-04:java里,总体说一下集合框架。
福哥答案2020-11-04: 福哥口诀法:收马李色坤(Collection.Map.List.Set.Queue).李矢数链写(List:Vector矢量.ArrayList数组.LinkedLis ...
- 2021-03-22:小虎去买苹果,商店只提供两种类型的塑料袋,每种类型都有任意数量。1.能装下6个苹果的袋子,2.能装下8个苹果的袋子。小虎可以自由使用两种袋子来装苹果,但是小虎有强迫症,他要求自己使用的袋子数量必须最少,且使用的每个袋子必须装满。给定一个正整数N,返回至少使用多少袋子。如果N无法让使用的每个袋子必须装满,返回-1。
2021-03-22:小虎去买苹果,商店只提供两种类型的塑料袋,每种类型都有任意数量.1.能装下6个苹果的袋子,2.能装下8个苹果的袋子.小虎可以自由使用两种袋子来装苹果,但是小虎有强迫症,他要求自己 ...
- vue全家桶进阶之路41:Vue3 语法糖<script setup>
<script setup> 是 Vue 3 中的一种语法糖,它可以使组件的脚本更加简洁.易读,并且减少了一些样板代码.使用 <script setup>,你可以将组件的 pr ...
- uni-app 打包发行
1.云端 发行-原生App-云打包 2.离线 运行-原生App本地打包-生成本地打包资源,如果提示安装依赖包,安装即可 注意:项目的AppID不能为空,请在该项目下的manifest.json中重新获 ...