アトキンソンのディザリング - 再挑戦 でもだめ
2007/08/19
groovy
java
画像処理
一番上がjava版で作成したもの。
その次が、Tinrocket, LLC | HyperDitherで作成したもの。
なんとなく近いかなぁと思ったんだけど。
HyperDitherの設定はcontrastをonにしている。
1. Start with a standard stochastic dithering algorithm.
2. Propagate only 3/4 of the total error term.
3. Propagate the error to the neighbors as follows:
Tinrocket, LLC | Programming:Computer Graphics
の説明がすべてのような気もするのだけど、画像処理についてよくわかっていないので、どうも理解できていないです。
コードは、javaでベースのGUIを組んで、毎回、コンパイルするのがいやなので、画像フィルターの部分をgroovyにしたら、めちゃくちゃ遅くなってしまった。もちろん、groovyだけのせいではないです。
コードを掲載したいのだけども、自分でも理解してないので、
一部だけ、
if (x < width - 1)
d[p + 1] += (err * 1) / 8;
if (x < width - 2)
d[p + 2] += (err * 1) / 8;
if (x > 0 && y < height - 1)
d[(p - 1) + width] += (err * 1) / 8;
if (y < height - 1)
d[p + width] += (err * 1) / 8;
if (x < width - 1 && y < height - 1)
d[p + width + 1] += (err * 1) / 8;
if (y < height - 2)
d[p + width + width] += (err * 1) / 8;
画像処理知ってる人なら、ぱっぱっぱっとやってしまえるんだろうけど。
参考
関連
: