火爆全网!这个 Python 项目很骚气!一秒生成可爱像素风图片!

news/2024/10/31 2:23:33/


本文转自量子位,作者郭一璞

整理来自:大邓和他的Python

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

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

在这个名为 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

近期热门:

8个鲜为人知的Python科学库,用过三个算是高手

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

你必须掌握的20个python代码,短小精悍,用处无穷

Python 最强编辑器详细使用指南!

 点击阅读原文,阅读菜鸟学Python 400篇干货!


http://www.ppmy.cn/news/595579.html

相关文章

PS把图片处理成可爱蜡笔画教程

PS把图片处理成可爱蜡笔画教程 2009-04-15 13:06:27 作者: 来源: 互联网 浏览次数: 372 文字大小:【 大】【 中】【 小】 原图 最终效果 1、打开原图,复制一层。 2、在复制的图层上进行滤镜-艺术效果-粗糙蜡笔&…

HTML那些可爱的“表情包”

今天和大家一起来分享一下新学的HTML标签,有人会问那什么是HTML呢?HyperText MarkupLanguage,是不是觉得太高大上了。它是超文本标记语言,标准通用标记语言下的一个应用。“超文本”就是指页面内可以包含图片、链接,甚…

CSDN 博文写作小技巧 (标题超链接、跳转指定博客的指定位置、图片居中、动图制作、可爱文字、定时博客发布、快速博客写作)

CSDN 博文写作小技巧 (标题超链接、跳转指定博客的指定位置、图片居中、动图制作、可爱文字、定时博客发布、快速博客写作) 🤖 作者简介:努力的clz ,一个努力编程的菜鸟 🐣🐤🐥 👀 文章专栏&a…

6 中断概览

目录 中断概览 STM32异常和中断介绍 STM32的异常一览 STM32的中断表一览 中断的优先级 中断的优先级分组 优先级分组 嵌套向量中断控制器(NVIC)功能 中断概览 什么是中断? 中断是指计算机运行过程中,出现某些意外情况需主机干预时,机器…

idea打的包字符集为GBK

1.最近对接一个打印机厂家的机器,他们对与打印数据要求字符集是UTF-8的,做完程序在自己idea上运行是是能够打印的,但是打包后,就不能够打印了。然后问了设备方是否是他们机器的原因,后面他们问了我这报错码&#xff0c…

项目bug--汇集

1、 2、 原因:页面选择后 没有调init方法 刷新页面 解决:在保存方法最后 ,加上init方法 3、 原因:select中 v-model绑定的id、select选项中 :value 绑定的id ,和编辑时触发的方法里 的id 没有一致,可能的…

关于DMS批量导入的注意事项

前言 当你注意了列命和数据库对应关系,批量后报错,常见的是无列名都好找问题,说一条不好找的 SQL解析失败:解析文件失败::读取字段定义异常,字段定义存在非法的空字段,请检查提交的Excel文件首行中的字段定义1、列名…

Docker安装ES

记录一下docker安装ES 查看max_map_count的值。 cat /proc/sys/vm/max_map_count我的是65530,需要将它改为262144 sysctl -w vm.max_map_count262144这里安装7.7.0版本拉取镜像 docker pull elasticsearch:7.7.0创建挂载地址 mkdir -p /opt/myDocker/es/config…