Floyd-Steinberg:索引颜色?

时间:2017-04-11 04:35:41

标签: javascript

我正在努力解决如何将2色Floyd-Steinberg algol转换为X颜色算法的问题。 (索引?)

我看到计算必须来自这一行:

var rc = (cc<127?0:255);

目前根据灰度值选择黑白两种颜色。

所以我需要调整它以找出几个像素应该是哪种颜色。 我有一个想法,我认为LUT会最快?

newCol = greyscaleReduced[currentPixelGreyscale];
是吗?我是否需要以某种方式调整误差扩散?

function floydSteinberg8(sb, w, h){
  for(var i=0; i<h-1; i++)
    for(var j=0; j<w; j++){
      var ci = i*w+j;
      var cc = sb[ci];
          var rc = (cc<127?0:255); // This one changed to 
          var rc = lockedGreyscale[cc];// this one
      var err = cc-rc;
      sb[ci] = rc;
      sb[ci+1] += (err*7)>>4;
      sb[ci+w-1] += (err*3)>>4;
      sb[ci+w] += (err*5)>>4;
      sb[ci+w+1] += (err*1)>>4;
    }
}

修改 我一直在调整我的代码 - 这个算法好吗? 我认为indexedGreyscale中像素亮度的权重可能会被关闭? 这就是它 - 只是亮度的LUT!? (该程序需要按下播放按钮,抖动,并关闭颜色) http://codepen.io/SarahC/pen/xdKGYB?editors=0010

0 个答案:

没有答案