基于错误扩散的Floyd-Steinbery抖动算法简单理解

1. 图像处理中的dithering技术
    它是一种欺骗你眼睛,使用有限的色彩让你看到比实际图象更多色彩的显示方式。通过在相邻像素间随机的加入不同的颜色来修饰图象,通常这种方式被用于颜色较少的情况下。

2. 错误扩散(Error diffusion)
   将当前像素点的误差传递到附近的像素点

3. Floyd–Steinberg dithering
   
   如图:*表示当前的像素点,错误的扩散方向为向右和向下,图中的分数分别表示错误扩散所分配的比例。

for each y from top to bottom
   for each x from left to right
      oldpixel  := pixel[x][y]
      newpixel  := find_closest_palette_color(oldpixel)
      pixel[x][y]  := newpixel
      quant_error  := oldpixel - newpixel
      pixel[x+1][y  ] := pixel[x+1][y  ] + quant_error * 7/16
      pixel[x-1][y+1] := pixel[x-1][y+1] + quant_error * 3/16
      pixel[x  ][y+1] := pixel[x  ][y+1] + quant_error * 5/16
      pixel[x+1][y+1] := pixel[x+1][y+1] + quant_error * 1/16
上面为 Floyd–Steinberg错误扩散的计算方式。   
————————————————
版权声明:本文为CSDN博主「等我下班」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wang_kun888/article/details/51734759

你可能感兴趣的:(基于错误扩散的Floyd-Steinbery抖动算法简单理解)