社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

火爆全网!这个 Python 项目很骚气!

编程派 • 5 年前 • 474 次点击  

点击上方“编程派”,选择设为“设为星标

优质文章,第一时间送达!



本文转自量子位,作者郭一璞
像文字云一样,用各种小图拼出大的图片,构建一个像素风的世界,就像《我的世界》里一样,一定非常有趣。
还可以拿来做拼贴画、十字绣等装饰。
在这个名为 tiler 的 GitHub 开源项目里你就可以自动实现这一切,它刚刚开源一天,就已经涨到了 1500 星,增长速度肉眼可见。
https://github.com/nuno-faria/tiler
Tiler,意味瓦工,也就是用各种小元素作为 “瓦”,搭建出一张大图片。
项目预设了不少 “瓦”:有乐高、加号、圆形、@符号、心形、乘号、波浪线、横竖条、《我的世界》中的各种格子,以及曲别针形:
另外还有一组万圣节主题 icon,包括各种南瓜灯、小鬼头、蝙蝠、猫头鹰:
这些不同的 “瓦” 都可以设定大小颜色和角度,以适应不同的画面规格。
另外,你还可以设定整个画面中由多少种颜色构成和 “瓦片” 的大小,也就是马赛克的模糊程度。
你可以用不同材质的 “瓦片”,拼接出各种图案。
比如梵高的《星空》,项目中展示了 10×10、25×25、50×50 三种圆形拼成的规格:
10×10 的《星空》
25×25 的《星空》
50×50 的《星空》
有没有在 PS 里拖动高斯模糊半径控制条的感觉?
你也可以设置让构成图片的 “瓦片” 大小不一
也可以试试拿乐高积木来拼:
放大看,斑斓的星空,是这样的:
一个个小砖块,布满了乐高积木表面特有的圆形凸起。
嗯,要是真有这么大一片乐高,想想就爽歪歪。
(此处冲去乐高门店下单,金币 - 1000)
还有乘号版:
如果放大,你就会发现,这就是十字绣的图样啊!
这么大一副十字绣,色彩艳丽,斑斓交错,一看就可以玩很久,退休老母亲看到两眼发光。
就是绣完挂在家里,也和你北欧风 / 极简风 / 莫兰迪风 / 自如风的房间非常搭配,成为全场最吸睛的装饰画。
要是木有耐心,可以考虑一个迷你版:
还可以做成《我的世界》的样子
星空的细节如下:
你们能认识这些砖块都是啥么……

运行指南

如果想在自己电脑上运行的话,除了 Python 3 和 pip,你还需要装 OpenCV、numpy 和 tqdm。
之后,靠命令行就可以解决了。
你需要设置几个参数:
在 gen_tiles.py 中设置:
  • DEPTH:每个颜色通道中的分割数量 (ex: DEPTH = 4 -> 4 * 4 * 4 = 64 colors);

  • ROTATIONS:旋转列表,以度为单位,应用在原始图像上 (ex: [0, 90])。


在 tiler.py 中设置:
  • COLOR_DEPTH:每个颜色通道中的分割数量 (ex: COLOR_DEPTH = 4 -> 4 4 4 = 64 colors);

  • RESIZING_SCALES:应用于每个图块的比例 (ex: [1, 0.75, 0.5, 0.25]);

  • PIXEL_SHIFT :移动以创建每个框的像素数 (ex: (5,5)); if None, shift will be the same as the tile dimension);



  • OVERLAP_TILES:如果构成图像的 “瓦片” 可以重叠;

  • RENDER:渲染图像;

  • POOL_SIZE:多处理池大小;

  • IMAGE_TO_TILE:图像到瓦片(如果作为第一个参数传递则忽略);

  • TILES_FOLDER:瓦片文件夹(如果作为第二个 arg 传递则忽略);

  • OUT:结果图像文件名。

脑洞丰富的作者

这个项目的作者 ID 叫 nuno-faria,除了这个 Tiler 项目之外,他还开源过不少有趣的东西。
有一个用 Java 写的推箱子:
像素风满满的桌面足球:
还有俄罗斯方块、弹球等许多种,个个都还蛮有意思的~
如此极具创造力的作者,实在令人佩服,有兴趣的话,可以到其主页深入了解一下:
https://github.com/nuno-faria

回复下方「关键词」,获取优质资源


回复关键词「  pybook03」,立即获取主页君与小伙伴一起翻译的《Think Python 2e》电子版

回复关键词「入门资料」,立即获取主页君整理的 10 本 Python 入门书的电子版

回复关键词「m」,立即获取Python精选优质文章合集

回复关键词「book 数字」,将数字替换成 0 及以上数字,有惊喜好礼哦~


题图:pexels,CC0 授权。

好文章,我在看

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/55619
 
474 次点击