最近迷上了漫畫中的網點畫法,
開始尋找來將一張圖片轉為點圖的方法.
一開始找到的是Color quantization:
轉出來的是一種類似像素畫的風格,
並非我想要的點圖.
後來改用Dither作關鍵字搜尋:
範例圖看起來就比較像網點紙上的圖樣.
Floyd–Steinberg dithering算是Dithering比較早期的演算法,
ChatGPT比較有可能學到,
於是我先在ChatGPT下了這個指示:
"輸入一張圖片,請以python實現Floyd–Steinberg dithering"
然後就得到以下的程式碼:
接著,將這張512*512的圖做為input image:
直接Floyd–Steinberg dithering進行轉換,
得到的就是純黑和純白兩色的點圖:
接著把圖片長寬各放大2倍,4倍及8倍,
再放進Floyd–Steinberg dithering進行轉換,
然後再縮小到512*512
(1)長寬各放大2倍:1024*1024
(2)長寬各放大4倍:2048*2048
(3)長寬各放大8倍:4096*4096
註:執行時間超過1分鐘
就目視而言,放大到4096*4096不放大已經看不出粒子感.