图像处理:Tiler制作你的专属卡通头像和LOGO(圣诞特别篇)

目录

  • 0 前言
  • 1 安装与贴图
  • 2 算法原理
    • 2.1 计算像素频率
    • 2.2 计算像素相对距离
    • 2.3 计算合适贴图
  • 3 配置功能
  • 4 使用:以圣诞老人为例
  • 推荐内容

0 前言

Tiler是一种使用各种其他较小图像平铺创建新图像的工具,它与其他马赛克工具不同,因为它可以适应多种形状、大小、方向的贴图,称为buil in buildTiler的英文意思是瓷砖,可以把它想象成用一个个自定义的瓷砖铺满图像的过程。通过使用Tiler最终可以达到像素风或文字云,适合用来制作自己的LOGO或头像

示意图如下所示,正好在圣诞节前后,我调了一个圣诞风格的LOGO

在这里插入图片描述

这是用我的世界像素格做的蛋糕

在这里插入图片描述
这是商业图标制作

在这里插入图片描述

1 安装与贴图

Tiler的安装非常简单

git clone https://github.com/nuno-faria/tiler.git
cd tiler
pip install -r requirements.txt

内置以下的贴图

贴图文件夹含义样例
at@在这里插入图片描述
circles圆形在这里插入图片描述
clips回形针在这里插入图片描述
hearts心形在这里插入图片描述
lego乐高在这里插入图片描述
lines线条在这里插入图片描述
minecraft我的世界在这里插入图片描述
plus加号在这里插入图片描述
times乘号在这里插入图片描述
waves波浪线在这里插入图片描述

2 算法原理

2.1 计算像素频率

因为最终选择的贴图颜色要和原图相近,否则会很违和,所以在算法开始前要计算图像的相对像素频率

def mode_color(img, ignore_alpha=False):counter = defaultdict(int)total = 0for y in img:for x in y:if len(x) < 4 or ignore_alpha or x[3] != 0:counter[tuple(x[:3])] += 1else:counter[(-1,-1,-1)] += 1total += 1if total > 0:mode_color = max(counter, key=counter.get)if mode_color == (-1,-1,-1):return None, Noneelse:return mode_color, counter[mode_color] / totalelse:return None, None

2.2 计算像素相对距离

常用的距离度量方法是闵可夫斯基距离
d i s t ( x i , x j ) = ∥ x i − x j ∥ p = ( ∑ u ∣ x i u − x j u ∣ p ) 1 / p , p ⩾ 1 \mathrm{dist}\left( \boldsymbol{x}_i,\boldsymbol{x}_j \right) =\left\| \boldsymbol{x}_i-\boldsymbol{x}_j \right\| _p=\left( \sum\nolimits_u^{}{|x_{iu}-x_{ju}|}^p \right) ^{{{1}/{p}}}, p\geqslant 1 dist(xi,xj)=xixjp=(uxiuxjup)1/p,p1

特别地,当 p = 1 p=1 p=1时为曼哈顿距离;当 p = 2 p=2 p=2时为欧氏距离;当 p = ∞ p=\infin p=时为切比雪夫距离。这里的距离度量就采用了欧式距离,表征了像素差

def color_distance(c1, c2):c1_int = [int(x) for x in c1]c2_int = [int(x) for x in c2]return math.sqrt((c1_int[0] - c2_int[0])**2 + (c1_int[1] - c2_int[1])**2 + (c1_int[2] - c2_int[2])**2)

2.3 计算合适贴图

将像素频率和相对距离匹配起来,可以得到在这个位置上最合适的贴图

def most_similar_tile(box_mode_freq, tiles):if not box_mode_freq[0]:return (0, np.zeros(shape=tiles[0]['tile'].shape))else:min_distance = Nonemin_tile_img = Nonefor t in tiles:dist = (1 + color_distance(box_mode_freq[0], t['mode'])) / box_mode_freq[1]if min_distance is None or dist < min_distance:min_distance = distmin_tile_img = t['tile']return (min_distance, min_tile_img)

3 配置功能

Tiler提供了以下功能,在conf.py文件中:

  • DEPTH:颜色深度

    颜色深度也称为位分辨率(Bit Resolution),指在位图图像或视频视频缓冲区的一个像素中,每个颜色分量(Red、Green、Blue、Alpha通道(的比特数。所谓“位”指的是二进制位或是比特,位分辨率决定可以标记为多少种色彩等级的可能性,位分辨率越大可表示的色彩越丰富

  • ROTATIONS:旋转列表

    因为Tiler支持各种位姿的贴图,所以在这里定义可能的旋转角度,从这里可以看出Tiler比一般的马赛克风格工具自由度更大

  • COLOR_DEPTH:同DEPTH

  • RESIZING_SCALES:贴图的缩放列表,支持不同大小的贴图

  • PIXEL_SHIFT:为创建每个框而移动的像素数

    在这里插入图片描述

  • OVERLAP_TILES :是否支持重叠

  • RENDER :是否建立渲染

  • POOL_SIZE :处理图像的进程数

  • OUT :输出路径

  • IMAGE_TO_TILE :输入路径

  • TILES_FOLDER:小图标路径

4 使用:以圣诞老人为例

我选择了这组参数

DEPTH = 4
ROTATIONS = [0]
COLOR_DEPTH = 32
RESIZING_SCALES = [0.1]
PIXEL_SHIFT = (20, 1)
OVERLAP_TILES = False
RENDER = False
POOL_SIZE = 8
OUT = 'out.png'
IMAGE_TO_TILE = "./images/santa-claus.png"
TILES_FOLDER = "./tiles/lines/gen_line_h"

接着终端运行

python tiler.py

即可生成如下的效果

在这里插入图片描述

更多玩法交给大家探索!

推荐内容

  • 本手、妙手、俗手?我用AI写2022高考全国作文题,会被看出来?
  • AI绘画突然爆火?快速体验二次元画师NovelAI(diffusion)
  • AI写代码、修Bug,甚至还想统治人类?快速体验ChatGPT
  • 吴恩达对话刘慈欣:让科幻更有勇气,让人工智能更有想象力

🔥 更多精彩专栏

  • 《ROS从入门到精通》
  • 《机器人原理与技术》
  • 《机器学习强基计划》
  • 《计算机视觉教程》

👇源码获取 · 技术交流 · 抱团学习 · 咨询分享 请联系👇

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/22074.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ChatGPT 3.5 的回答只能基于 2021年中期

ChatGPT 无法通过 internet 来访问 2021 年中期之后的数据。 比如无法列举 2021年 IT 界发生的新闻。 2021年的新闻则可以列举出来 以下是2021年IT界十大轰动性的新闻&#xff1a; 苹果公司推出 M1 芯片&#xff1a;苹果公司在2020年底发布了第一批基于自研M1芯片的Mac电脑&…

爆发了!ChatGPT的王炸级更新

最近ChatGPT在互联网行业有多火&#xff1f;恐怕不用小灰多说&#xff0c;大家心中自有答案。 不过&#xff0c;尽管ChatGPT很厉害&#xff0c;但是却存在一个局限。你向它了解最近两年的内容&#xff0c;它都会回复不支持。这是因为ChatGPT模型训练用的是2021年9月之前的数据&…

2021-11-12

高三家长如何填写高校录取志愿事宜 高三家长陪考的目就是和孩子一起经历高考和健康成长的过程&#xff0c;高考成绩真的无法估计&#xff0c;可能超常发挥可能发挥失常&#xff0c;我们从考得好”和“报得好”这两个方面来说了&#xff0c;那么作为家长&#xff0c;要为孩子准…

30 我上车则被套的故事【2019-11-03 2242】

今天我们轻松点&#xff0c;聊聊车。 香港人把买房叫做上车。“不管那么多&#xff0c;赶紧先上车。”这是老一代对年轻人的实用主义传承。在财富积累赛道&#xff0c;上车意味着速度更快&#xff1b;而没有上车的话&#xff0c;个人的发展跟不上城市的发展&#xff0c;在城市发…

普通话证书手把手入门考取流程

简介&#xff1a;普通话证是很有用的一个证书。现在考取后是终身的有效期限。建议大家可以考取一个。 作用&#xff1a;可以认定一些职位所需。例如&#xff1a;教师资格证认定&#xff0c;播音员认定。。。那么&#xff0c;普通话考试考取内容是什么&#xff1f;怎么报名&…

广州华龙展贸考场——科目三

前言:不同考试时间可能考试规则和路段考点会变,仅供参考,以练车为准。2021/05/17考试记录。 一、灯光考点 传祺车灯光视频操作:点击这里 二、科三考试注意细节: 1、换挡不要低头看挡位,否则扣100分

宁海中考政策计算机考试合格,宁海中考指南!同学们、家长们你们准备好了吗?...

原标题&#xff1a;宁海中考指南&#xff01;同学们、家长们你们准备好了吗&#xff1f; 高考结束了 那么接下来的重点就是中考了! 这也是至关重要的一步 同学们要加油了 今年我县参加初中生学业水平考试报名总人数为6190人&#xff0c;比去年增加52人。 宁海中学创新实验班提前…

广东省考计算机类的比例,广东公务员考试22.4万人参加 竞争比例为19:1

▲昨日&#xff0c;广东公务员省考举行&#xff0c;中午12时30分左右&#xff0c;华南师范大学考点一名考生步出考场。 记者邱伟荣 摄 文/ 记者廖靖文 通讯员符信、粤仁宣 昨日&#xff0c;广东省2011年考试录用公务员“四级联考”笔试在省直和20个地级以上市(不包括深圳市)同步…

2021固原一中高考成绩查询榜,【拍客】2021年固原高考落下帷幕,这些感人瞬间将被永远铭记...

十年磨一剑&#xff0c;一朝试锋芒。6月8日下午&#xff0c;2021年高考落下帷幕&#xff0c;全市一万三千余名考生从各考点走出&#xff0c;不少人大声欢呼、高兴拥抱&#xff0c;有的家长则给考生送上鲜花&#xff0c;祝愿孩子前程似锦。 原州区四个考点 与他们并肩同行的还有…

2023年天津理工大学中环信息学院专升本专业课考试考前安排

2023年天津理工大学中环信息学院高职升本科专业课考试考前提醒 1.考试时间为12月29日上午9&#xff1a;00--11&#xff1a;00,9&#xff1a;00开考后&#xff0c;禁止进入考场参加考试&#xff0c;建议考生提前40分钟到达考点。 2.准考证打印时间为12月27日至29日&#xff0c…

中国农业大学2022年法学硕士研究生拟录取名单

中国农业大学2022年法学硕士研究生拟录取名单 资料的录取名单录取为中国农业大学学校官网公布的&#xff0c;准确性可以得到保证&#xff0c;可以放心使用。通过拟录取名单可以更好的了解当年进入复试的分数线&#xff0c;可以从侧面了解该校该专业的报录比&#xff0c;了解对…

110.【十万字带你深入学习23种设计模式】

Java 23种设计模式 (一)、设计模式相关内容介绍1.软件设计模式概述(1).软件设计模式的产生背景(2).软件设计模式的概念(3).学习设计模式的重要性(4).设计模式分类 2.UML图(1).类图概述(2).类图的作用(3).类图表示法 3.软件设计原则(1).开闭原则 (重写不修改)(2).里氏代换原则 (…

要裸辞考公务员吗?

问&#xff1a; 发哥晚上好&#xff0c;打扰了&#xff0c;我是「15级电子工程专业」&#xff0c;不知道你对裸辞有什么看法&#xff1f; 说一下我自身的情况&#xff1a; 1.毕业四年&#xff0c;现在在做C设备端业务开发&#xff08;安防行业、高速公路部门&#xff09;&#…

漫谈程序员系列:看看你离优秀有多远

前段时间&#xff08;大概是8月份吧&#xff09;我终于拿到了驾照&#xff0c;科目一、科目二、科目三、科目四都是一次性过的&#xff0c;没有给教练塞钱也没有给教练递烟。考科目三&#xff08;路考&#xff09;时&#xff0c;有个女生没能通过还被陪考员讽刺&#xff0c;伤心…

要建立亲密的关系,就必须少一些指责,多一些倾听

于万千人中&#xff0c;遇见你&#xff5c; 第102篇 可以毫不掩饰的说&#xff0c;我希望能够和我爱的人共筑一个百年好合的爱巢——我们互相坦诚&#xff0c;互相需要&#xff0c;互相照顾&#xff0c;互相体谅&#xff0c;总之&#xff0c;最好没有伤害、没有争吵、没有烦恼。…

1024 的那天,我这个三线的程序员是这样度过的

10 月 24 号&#xff0c;也就是程序员节&#xff0c;怎么来的呢&#xff1f;我来给不是程序员的读者朋友们普及下&#xff0c;相信你们也很感兴趣&#xff0c;为什么这一天这么多程序员职业的朋友会在朋友圈给自己庆祝&#xff1f; 当然不会无缘无故的来&#xff1a; 1024 是 2…

郑州家长租房车“花式“陪考上热搜,宇通房车备受关注

经历了种种波折&#xff0c;对多地高三考生而言&#xff0c;2020年高考终于落下了帷幕。高考是千万考生们的“战场”&#xff0c;同样也是家长们的“战场”&#xff0c;每年高考&#xff0c;为了给孩子最大的帮助和支持&#xff0c;家长们都会守在场外&#xff0c;想出各种奇招…

为什么ChatGPT等AI应用使用强化学习而不是监督学习

我也是无意中入了强化学习的领域&#xff0c;因为我原本研究云计算的任务调度&#xff0c;我发现近几年的工作都是基于强化学习的。所以感觉强化学习一定是大趋势&#xff0c;恰好现在ChatGPT这些人工智能产品出现&#xff0c;更是助推了强化学习的风。那么为什么ChatGPT使用强…

82页PPT | 斯坦福最新ChatGPT: 提示学习, 指导微调和RLHF

今早在推特上刷到斯坦福的课程&#xff0c;终于开始讲ChatGPT了&#xff0c;但是视频还是没有放出来&#xff0c;不过PPT放出来也已经很不错啦。 一共82页&#xff0c;放不完&#xff0c;下面截图几个重要的slide&#xff1a; 课程链接&#xff1a;https://web.stanford.edu/cl…

ChatGPT的前世今生: 从GPT-1到GPT-4,自然语言处理的壮丽蜕变

博主 默语带您 Go to New World. ✍ 个人主页—— 默语 的博客&#x1f466;&#x1f3fb; 《java 面试题大全》 &#x1f369;惟余辈才疏学浅&#xff0c;临摹之作或有不妥之处&#xff0c;还请读者海涵指正。☕&#x1f36d; 《MYSQL从入门到精通》数据库是开发者必会基础之…