SourceChord

C#とXAML好きなプログラマの備忘録。最近はWPF系の話題が中心です。

NPRもどき その3

今度は,点描風にやってみました.
結果画像はこんな感じ↓.


やっていることは,基本的に今までのものと同じです.
一応処理の流れはこうなります.↓

  1. 入力画像にラプラシアン・フィルタをかけ,さらにぼかしを掛けた画像を輪郭周辺部の情報の画像として用意.
  2. 入力画像を輝度値でグレースケールに変換.
  3. 画像中のランダムな点を選択
  4. その点の輝度値に応じて,点を打つ確率を変える
    • 輝度値にラプラシアン・フィルタの画素値を重みづけして加えた値,と0〜255の乱数を比較して,乱数の方が大きかったら,黒い点で描画(フォトン・マップやパストレでの,フォトンやパスの挙動を決めるロシアンルーレットみたいな感じ)
  5. 3〜4をひたすら繰り返す.

てな感じです.
で,このアルゴリズムだと,ずっとループを回してると全体がかなり真っ黒になってしまいます.
画像の白い部分には,もっと白くなるようにしたかったので,ロシアンルーレットに用いる確率はsinカーブを描くように,重みづけをしています.
(うーん,文章にするとムダにわかりづらくなる気がする.大したことはやってないのに・・・)


その他の結果画像はこんな感じ↓