python骚气表情包_火爆全网!这个 Python 项目很骚气!

点击蓝色“Python空间”关注我丫

加个“星标”,每天一起快乐的学习

a6b411125331f42aeafa64a53db22c6b.png

郭一璞 发自 凹非寺

量子位 报道 | 公众号 QbitAI

像文字云一样,用各种小图拼出大的图片,构建一个像素风的世界,就像《我的世界》里一样,一定非常有趣。

f76458e88890e727a3be21ef27441f8f.gif

7ec7343367ca119a02b0c2f6a5c12284.png

还可以拿来做拼贴画、十字绣等装饰。

在这个名为tiler的GitHub开源项目里你就可以自动实现这一切,它刚刚开源一天,就已经涨到了1100星,增长速度肉眼可见。

Tiler,意味瓦工,也就是用各种小元素作为“瓦”,搭建出一张大图片。

项目预设了不少“瓦”:有乐高、加号、圆形、@符号、心形、乘号、波浪线、横竖条、《我的世界》中的各种格子,以及曲别针形:

f91b925c4aaa5501cbceab435cb8b4fd.png

另外还有一组万圣节主题icon,包括各种南瓜灯、小鬼头、蝙蝠、猫头鹰:

c5283cbb627c9ef4e9f679b4f4e3add0.png

这些不同的“瓦”都可以设定大小颜色和角度,以适应不同的画面规格。

另外,你还可以设定整个画面中由多少种颜色构成和“瓦片”的大小,也就是马赛克的模糊程度。

你可以用不同材质的“瓦片”,拼接出各种图案。

比如梵高的《星空》,项目中展示了10×10、25×25、50×50三种圆形拼成的规格:

60f88773bd3b91f9ca5abb5e26d949a7.png

△ 10×10的《星空》

1ae2b71145544a4822c7e50b6397b2d7.png

△ 25×25的《星空》

83f23d74d6dc25213e68df95b6430477.png

△ 50×50的《星空》

有没有在PS里拖动高斯模糊半径控制条的感觉?

你也可以设置让构成图片的“瓦片”大小不一

c4a9e3b2753aeb3e6a36ab32e0f581c0.png

也可以试试拿乐高积木来拼:

4253e9e49d73f2fb2c3b8a6808028f18.png

放大看,斑斓的星空,是这样的:

9bd34ef6d4e3bc25f9f3bd497ef01db7.png

一个个小砖块,布满了乐高积木表面特有的圆形凸起。

嗯,要是真有这么大一片乐高,想想就爽歪歪。

(此处冲去乐高门店下单,金币-1000)

还有乘号版:

4e5e02264bd4a3b0a4e618a8d7cfc273.png

如果放大,你就会发现,这就是十字绣的图样啊!

8ee3ab5e45c843ee791a0f93c299937e.png

这么大一副十字绣,色彩艳丽,斑斓交错,一看就可以玩很久,退休老母亲看到两眼发光。

7e8f660c85c7f6773ca50273ed49115a.png

就是绣完挂在家里,也和你北欧风/极简风/莫兰迪风/自如风的房间非常搭配,成为全场最吸睛的装饰画。

要是木有耐心,可以考虑一个迷你版:

411057f2f7892d9bbd5d069497130f30.png

还可以做成《我的世界》的样子

a7a6f558e9a238c65e703ebe9fb63c49.png

a75c884b625ee75b3ae4821b471ed558.png

星空的细节如下:

3e75db7b86fc7efaffadce4cfb3f9c26.png

你们能认识这些砖块都是啥么……

运行指南

如果想在自己电脑上运行的话,除了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 44 = 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);;

31ca94de3636c2892e3265153338b098.png

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

RENDER:渲染图像;

POOL_SIZE:多处理池大小;

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

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

OUT:结果图像文件名。

脑洞丰富的作者

这个项目的作者ID叫nuno-faria,除了这个Tiler项目之外,他还开源过不少有趣的东西。

有一个用Java写的推箱子:

bbf4ae6d9dc1f1825835f31af1a28698.png

像素风满满的桌面足球:

0281f6cf1e1aecb49636c7343d8225d4.gif

还有俄罗斯方块、弹球等许多种,个个都还蛮有意思的~

传送门

https://github.com/nuno-faria/tiler

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值