GitHub一日千星:開頭一張圖,自動變成《我的世界》、樂高、十字繡風格,有Python就能跑
郭一璞 發自 凹非寺
量子位 報道 | 公眾號 QbitAI
像文字云一樣,用各種小圖拼出大的圖片,構建一個像素風的世界,就像《我的世界》里一樣,一定非常有趣。
還可以拿來做拼貼畫、十字繡等裝飾。
在這個名為tiler的GitHub開源項目里你就可以自動實現這一切,它剛剛開源一天,就已經漲到了1100星,增長速度肉眼可見。
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/ti
- MEET2020 | 百度景鯤:AI交互正在吃掉舊產品邊界,觸達移動互聯網盲區用戶2019-12-10
- MEET2020 | 王硯峰揭秘搜狗AI技術體系:自然交互在左,知識計算在右,核心是語言2019-12-16
- MEET2020 | 曠視唐文斌:你到底給誰創造了什么樣的價值?這是AI產品的靈魂拷問2019-12-17
- MEET2020 | 快手劉霽:AI基礎能力決定每個公司AI的迭代和落地效率2019-12-20



