ハーフトーニング (ディザ法)
画像を2値化するハーフトーニングのDither法が面白かったので紹介。
コード
パターンを与えると、それっぽく点を打つ。(これ使用)
function dither(img, pattern){ var black = new ImageProcessing.Color(0, 0, 0); var white = new ImageProcessing.Color(255, 255, 255); var l = pattern.length; var n = 256 / (l * l); img.each(function(px, x, y){ if(px.average() > pattern[x % l][y % l] * n + 8) img.setPixel(x, y, white); else img.setPixel(x, y, black); }); }
参考PDF
http://gandalf.doshisha.ac.jp/~kon/grad-thesis/archives/2003yamauchi.pdf