javascriptで写真をイラスト調に変換

http://www.udp.jp/misc/nvjs/kmeans.html:title=
写真から陰影を勉強しようと思って作った。
こんな感じになります。






やっていることは、

  • ガウシアンフィルターでぼかす
  • コントラストを調節(0.5以外であれば)
  • k-meansで指定色数に減色
  • エッジと合成
  • エッジは、グレースケールにしてからラプラシアンフィルタで検出

僕の環境だとデフォルトの設定で、Google Chromeだと1秒ちょっと、Firefoxだと5秒ちょっとかかります。
Firefox遅い。
途中の結果をキャッシュしたりがんばっているので、最初の1回が重くて調節するのはそんなに重くないと思います。
ただ「色数」と「なめらかさ」を増やすとクソ重くなる。

Canvasでやっているので、Canvasが無いブラウザだと動かないです。

爆速にしたい。