我想使用索引调色板将24位RGB图像(每个通道8位)转换为8位。
我最初的想法是创建一个数组并简单地计算每种颜色在图像中的表示次数,但我认为如果有大面积颜色略有变化而耗尽所有调色板,那将是浪费空间有利于较小但可能更重要的颜色组。
完成构建调色板后,我的想法是将每种RGB颜色视为三维矩阵,并将其点积与调色板中的每个条目进行比较。
...
正如您可能看到的那样,我并没有完全遵循术语,但我希望您理解我的意思:)
我的问题是;是否有人能够分享有关如何处理此问题的见解,或者可能让我在任何在线阅读材料的正确方向?
谢谢!
答案 0 :(得分:4)
您正在寻找color quantization。
答案 1 :(得分:4)
根据Paul Heckbert's paper from 1982流行度算法不如Median Cut。
有一系列Median-Cut(空间细分)算法可以选择不同的标准,例如:每个分区中的minimize variance种颜色。)
使用Octtree进行快速但丑陋的细分。
有一些聚类算法,例如K-Means和Linde-Buzo-Gray。
一个有趣的奇怪的是NeuQuant神经网络。
我仍在努力找出pngquant最好的一个。