Python實戰:將圖片轉成像素風


之前在交流群有人問過這樣一個問題:

 

當時我介紹了一個名為 Tiler 的 GitHub 開源庫。這個 Python 項目很騷氣!一秒生成可愛像素風圖片!

今天小五就給大家實戰演示一下,如何將一個普通表情包轉換成像素風

 

 

 

Tiler簡介

Tiler,意味瓦工,也就是用各種小元素作為 “瓦”,搭建出一張大圖片[1]

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

 項目預設了不少 “瓦”:有樂高、加號、圓形、@符號、心形、乘號、波浪線、橫豎條、《我的世界》中的各種格子,以及曲別針形。在本文中,我更願意將其稱作“像素圖塊”。

 

該項目,在 GitHub上已經獲得了4.6k的 star。

 

 

 

 

 

 

觀察示例圖片,本文一開始提到的像素風表情包應該也可以實現。

廢話不多說,先安裝。

將項目克隆下載,再安裝 requirements.txt 中的依賴。

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

pip install -r requirements.txt

具體操作如下圖所示

 

 

 

轉換像素圖

現在演示如何利用Tiler,將普通表情包轉換成像素風。

經過前文的操作,可以在本地看到已經下載好了文件和配置。

其中,文件夾 images 里放的是項目示例圖片,文件夾 tiles 里是圖塊目錄,另外 conf.py 里是配置文件。

C:\Users\Administrator\tiler

 

 

 

 我自己添加了一個待轉換圖片——333.png,其實放在其他目錄下也不影響,只需要下一步指定好即可。

 

 

除了待轉換圖片,還需要選擇像素圖塊,自帶的像素圖塊中只有line比較合適,我們就先拿它來演示。

 

 

其中gen_line_h放置的都是橫向的線段圖。

 

 生成像素圖,在 tiler 目錄中執行以下命令:

python tiler.py ./images/333.png ./tiles/lines/gen_line_h/

 

 

執行過程中,有進度條提醒。待轉換圖片較小,幾秒鍾就完成了。

此時在 tiler 目錄中,已經生成了一個新圖片——out.png

 

 

關於轉換像素效果呢?

實現了,但沒完全實現,還差了點靈魂——不夠像素。

自定義

我猜測是像素圖塊的問題,上圖使用的是長方形的圖塊。但在自帶目錄里,未發現有正方形,這樣我們就需要自定義像素塊了。

想要更好的像素風轉換效果,最好再調整一下參數配置

先說自定義像素塊。

自定義圖案

首先,要在目錄tiles內新建一個文件夾square2

在其中放入一個自定義的像素圖塊,我准備的是正方形(50x50像素)。

建議顏色[2]#F0F0F0

C:\Users\Administrator\tiler\tiles\square2

 

 

 

光有一個圖塊還不行,需要利用腳本gen_tiles.py 生成一系列多顏色圖塊。

自定義參數

在生成像素圖塊前,還可以自定義參數。

通過更改conf.py中的代碼,我調整了DEPTH等值。

  • DEPTH:每種顏色的分區數,默認值 4。
  • COLOR_DEPTH:圖片包含顏色的數量,默認值 32。

 

 

作者在conf.py里對每項配置參數都作了注釋,大家在使用時可以自行調整。

自定義效果

接下來生成新的像素圖塊。

在 tiler 目錄下執行命令:

python gen_tiles.py ./tiles/square2/square2.png

 

 

 

 

 

打開文件夾gen_square2,各種顏色的像素圖塊已經被生成好了。

 

 

 

接下來,就是使用新圖塊,重新制作像素圖:

 

python tiler.py ./images/333.png ./tiles/square2/gen_square2/

生成👇

 

 

 

這次的效果就很不錯了,跟文章一開始的示例風格非常像啦。

下載和使用

如果大家看完比較感興趣,想自己實戰怎么辦?還需要git clone克隆,再自定義配置嘛。

不不不

 

 

為了方便大家,我把自定義好的配置文件已經打包,大家解壓后,放置在任意目錄。使用時,在命令行cd(切換路徑)到儲存目錄,最后執行:

python tiler.py ./images/333.png ./tiles/square2/gen_square2/

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM