
ガウスフィルタ
★ 1.はじめに…
ガウスフィルタもD3D11用に書いてみました。


★ 2.概要
ガウスフィルタの勉強です。
まずは,ガウス関数ですね。確率統計をやったことがある人は,分かっていると思いますが,次のような指数関数みたいな形をした式であらわされます。

規格化定数とか分散についての説明は,数学の教科書とか載っていると思うので省略します。肝心なのは使い方。あるピクセルに着目して,そのピクセルから離れていればいるほどピクセルの色の影響力が小さくなるようにガウス関数を使います。

すなわち,式にすると次のようになります。

よく見ると,式中に似た形があるので,分解してみます。

上記のように,うまい具合にx方向とy方向に分けることができるので,2パスで最終的な合成色を算出してやります。
まずは,1パス目で横にぼかします。ぼかすと以下のような感じになります。

つづいて,2パス目で縦方向にぼかします。ぼかした時の結果は下のような感じになります。

そんなわけで,合成してあげると下のような感じになります。

まずは,ガウス関数ですね。確率統計をやったことがある人は,分かっていると思いますが,次のような指数関数みたいな形をした式であらわされます。

規格化定数とか分散についての説明は,数学の教科書とか載っていると思うので省略します。肝心なのは使い方。あるピクセルに着目して,そのピクセルから離れていればいるほどピクセルの色の影響力が小さくなるようにガウス関数を使います。

すなわち,式にすると次のようになります。

よく見ると,式中に似た形があるので,分解してみます。

上記のように,うまい具合にx方向とy方向に分けることができるので,2パスで最終的な合成色を算出してやります。
まずは,1パス目で横にぼかします。ぼかすと以下のような感じになります。

つづいて,2パス目で縦方向にぼかします。ぼかした時の結果は下のような感じになります。

そんなわけで,合成してあげると下のような感じになります。

★ Download
本ソースコードおよびプログラムを使用したことによる如何なる損害も製作者は責任を負いません。
本ソースコードおよびプログラムは自己責任でご使用ください。
プログラムの作成にはMicrosoft Visual Studio 2008 SP1 Professional, Microsoft DirectX SDK (June 2010)を用いています。
本ソースコードおよびプログラムは自己責任でご使用ください。
プログラムの作成にはMicrosoft Visual Studio 2008 SP1 Professional, Microsoft DirectX SDK (June 2010)を用いています。