彩图转256色图

题目

  • 一个RGB图像,变成一个只有256种颜色组成的伪彩色图像,怎么挑选这256种颜色,来使得处理后图像和原图像尽可能像

思路

  • 流行色算法
    • RGB图一共有2^24次方种颜色,可以搞一个2^24长度的数组,然后遍历RGB图,每个像素位置的RGB构成24位数,数组中该数索引+1;然后排序,取频率最高的前256中颜色作为调色板,为0的去掉,不为0的选择与256种颜色“距离最近”的作为替代色;遍历RGB图,如果RGB值对应的是前256种颜色的一种,则取该颜色,否则取与该颜色最近的256种颜色中的一种。
    • 当然也可以取RGB每个的前4位组成12位的数,然后搞一个2^12长度的数组。
  • 中位切分算法
    • RGB三轴形成256边长的立方体,将该立方体切分成256个小立方体;取每个小立方体的中心点构成256种颜色的调色板。

参考