您的位置:首页 > 其它

数字图像处理之24位真彩色转256色调色边图

2013-12-24 00:15 579 查看
真彩图即RGB图0 0转256色调色板图据我查得,常用的算法有

1)流行色算法:

对图像中所有像素点的RGB值进行统计,找出出现次数最多的256种颜色作为调色板的颜色。然后将原图中的各个像素点与调色板图的颜色进行匹配,找出差异最小的颜色作为该像素点的颜色。算法特点,算法简单,容易实现,但出现失真的情况可能比较“严重”。

2)中位切分算法:

算法的基本思路是:在RGB彩色空间中,R、G、B三基色对应于空间的三个坐标轴,将每一坐标轴都量化为0~255,0对应于最暗(黑),255对应最亮,这样就形成一个边长为256的彩色立方体,所有可能的颜色都对应于立方体内的点。将该立方体切分为236个小立方体,每个立方体中都包含相同数量的在图像中出现的颜色点。取每个小立方体的中心点,则这些中心点构成236个颜色。算法特点:广泛应用于图像处理领域,但算法复杂,资源开销大。

3)(3)八叉树颜色量化算法

算法基本思路是:将图像中使用的RGB颜色值分布到层状的八叉树中。八叉树的深度可达9层,即根节点层加上分别表示8位的R、G、B值的每一位的8层节点。较低的节点层对应于较不重要的RGB值的位(右边的位),因此,为了提高效率和节省内存,可以去掉最低部的2 ~ 3层,这样不会对结果有太大的影响。叶节点编码存储像素的个数和R、G、B颜色分量的值;而中间的节点组成了从最顶层到叶节点的路径。这是一种高效的存储方式,既可以存储图像中出现的颜色和其出现的次数,也不会浪费内存来存储图像中不出现的颜色。算法特点:效率高,效果好。

这儿博主主要讲解第一种流行色算法:

由于如果要统计所有RGB颜色需要2 ^ (8 + 8 + 8)的空间。空间开销也不小,为了快速也为了节省空间,我们取RGB的前4位(后四位为0的话,最大误差是15)作为一种颜色。那么只需要2 ^ (4 + 4 + 4)的空间,时间也变得更短了,可以根据需求的精度进行选择。

对于颜色匹配,只要选取min((r - r') ^ 2 + (g - g') ^ 2 + (b - b') ^ 2))的那种颜色就好了.

由于代码不是我写的- -我就不贴了(- -囧)等考完试了补上。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: