最早对听说Dithering这个词还是看到clayman大神推荐的dx9 pipeline图,当时也没深究,今天在openGPU上有大牛对此问题给出来答案, 当时也没看懂,回来看了下wiki上关于dithering的介绍,瞬间明白了。再次借wiki的图做个小白普及吧~~(不算侵权吧。。)
这就是一个很直接的dithering的例子,图中实际只用了红蓝两种颜色,但是随着像素的变小,图片逐渐呈现出紫色。 看到这边大家应该对dither这个操作有了个理解,它就是用少量的颜色来表现更广泛的颜色的。这么做的原因,有很多方面的用途,譬如在某一些使用lcd屏幕的嵌入式设备上能显示的色域很比较小的,在这样的设备上显示图片,如果单纯的将超过色域的颜色四舍五入的话,就会产生很明显的颜色带。(如下图)这样就需要利用dithering操作来进行修正。
原图 未经过dithering 经过dithering后,颜色过渡自然很多
具体的算法wiki上大概的介绍,有兴趣的同学可以看看:http://en.wikipedia.org/wiki/Dither
|