0

そこで、この 1 つのレンダリング アルゴリズムを実装しています。アルゴリズムの一部には、画面サイズのテクスチャからテクセルへのアクセスを処理する次のコンポーネントがあります。以下のコードは、うまくいけば非常に簡単です。

int k = arbitrary integer;

for(int x = -1; x <= 1; x++)
{
    for(int y = -1; y <= 1; y++)
    {
        Pixel(i,j) += Texture(i + k*x, j+k*y) * G[x+1][y+1];
    }
}

この場合、私が読んでいる論文は、関数 G[x][y] を 3x3 ガウス フィルターとして分類していますが、それ以上の情報は提供していません。だから、私がここに書いたことに基づいて、コードのこの特定のセクションに適合するガウスフィルタを実装する方法を理解できる人がここにいるかどうか疑問に思っていました.

4

1 に答える 1

0

3x3 2D Gaussian カーネルだけが必要な場合は、これを使用できます。

0.04492 0.1221  0.4492
0.1221  0.33192 0.1221
0.04492 0.1221  0.4492

合計すると 1 になるので、重みを分割する必要はありません。最初に 1D カーネル (0.1221、0.3319、0.1221) で水平処理を行い、次に同じカーネルで垂直処理を行う 2 パス メソッドを実行する方が効率的である場合があります。異なるシグマでガウス分布を試してみることもできます。

于 2013-02-07T05:47:06.063 に答える