2010-12-11 50 views

回答

1

那麼最簡單的方法就是查看圖像並創建一個將像素顏色映射到整數的字典。對於每個像素,如果其顏色在字典中,則增加其數量。如果不是,請將其添加爲1,這將爲您提供每種顏色在圖像中出現的次數。

然後,按照計數排序,您將在圖像中找到256種最常見的顏色。這些顏色組成你的調色板。

然後,再次遍歷圖像。對於每個像素,找到最接近該像素顏色的調色板顏色,並將該像素的索引設置爲該調色板索引。

這將是一個很好的「第一次去」,但在具有很多顏色的圖像中,它可能無法很好地找到調色板。在字典階段,您可能想要將「足夠接近」的顏色組合起來,以避免產生很多非常相似的顏色,所有顏色評分都很差,即使它們在一起會非常普遍。

爲了獲得更好的效果,您需要查看dithering技巧。

1

這個問題叫做色彩量化。例如,請參閱pngquant

如果您正在尋找算法,那麼搜索Median Cut,Octtree,K-Means,Linde-Buzo-Gray,NeuQuant。理想情況下,在谷歌學術搜索中,由於定期結果被隱藏付費牆報濫發。