1

画像フィルタリングを使用して学校2dFFTのために書いています。そして、私はフィルター行列に問題があります。2 ^ nの入力を受け入れるようにfftを作成し、すべてのフィルター行列は奇数です。

したがって、フィルター行列を関数の許容可能な入力に変換するためのソリューションが必要です。

私は次のアイデアを持っていますが、それがどのように機能するかわかりません。フィルタマトリックスがある場合:

1 2 3
4 5 6
7 8 9

に変換するには:

0 0 0 0
1 2 3 0
4 5 6 0
7 8 9 0

そして、Imが行列の「中心」を私のピクセルと一致させるとき、「部分行列」の中心を一致させ、その後、必要な値を抽出します。それは可能ですか?

また、誰かが私が得ることができるフィルターの最大サイズを教えてもらえますか?32x32と言うよりも大きいですか?

4

1 に答える 1

3

フィルターマスクは、コンパクトにサポートされたフィルターを表現するために使用されます。コンパクトなサポートとは、信号が限られた範囲でのみゼロ以外の値を持つことを意味します。フィルタマスクをゼロ値で拡張することにより、実際には自然なことをしていることになります。ゼロは元のフィルターの一部です。

しかし、本当の問題は別のことです。畳み込み定理に従ってFFTを使用すると仮定します。そのためには、要素ごとの乗算が必要です。フィルタと信号の両方に同じ数の要素がある場合にのみ、要素ごとの乗算を実行できます。したがって、フィルターを信号サイズまで拡張する必要があります(ゼロを使用)。

フィルタマスクのサイズに制限はありません。畳み込みの場合、唯一の制限はコンパクトなサポートです(上記で説明したように)。

于 2012-12-23T22:13:52.900 に答える