3

これまでのところ、ガウスの分離可能性を利用して、ガウスぼかしフィルターを完全に空間ドメインに実装しました。つまり、画像の行に沿って、次に列に沿って 1D ガウス カーネルを適用しました。それはうまくいきました。

ここで、空間領域の NxN 畳み込み行列のサイズ N のみが与えられたので、周波数領域でまったく同じぼやけた画像を実現したいと考えています。つまり、画像をマトリックスにロードし(numpy、私はpythonを使用しています)、それにFFTを適用し(次に、G(x、y)があります)、フィルターH( u,v) 中心値が 1.0 で、中心から離れるほど値が 0 になる 2d ガウスの形状にも似た周波数領域で。次に、周波数領域で乗算を行い (H の中心シフトを行うことを検討する前に)、iFFT を適用します。

私が抱えている問題は、対応する H(u,v) になる正確な式を見つけることです (つまり、標準偏差であるシグマを見つけること)。空間ドメインから、マスクサイズ N が与えられた場合、std-dev シグマは sigma=(maskSize-1)/2/2.575 として概算できることがわかります。たとえば、マスクサイズ N=15 の場合は、次のようになります。 e^-(x²/2sigma²) の場合は std-dev=2.71845 で、今のところ 1D の場合のみを考慮しています。

しかし、周波数領域のシグマを取得するにはどうすればよいでしょうか?

面白いことに、理論的には Mathematica を使用してシグマを取得する方法を知っていますが、ここで示すことができるように、結果はまったくの偽物です。

gauss1d[x_, sigma_] := Exp[-(x^2)/(2 sigma^2)]
Simplify[FourierTransform[gauss1d[x, sigma], x, omega], sigma > 0]

結果は E^(-(1/2) オメガ^2 シグマ^2) * シグマ

これは、E 関数の指数で 1/sigma² が sigma² に変わるため、偽物です。したがって、これを描くと、H(u,v)-ガウスがかなり「薄い」ため、標準偏差が大幅に小さくなっていることがわかります。ただし、実際には、空間ドメインよりも周波数ドメインの方がはるかに広いはずです!! 意味がありません...

4

1 に答える 1

8

ガウスのフーリエ変換は、次のようにガウスです。

http://en.wikipedia.org/wiki/Fourier_transform

ただし、標準に注意してください。開発者 反転します!!!!

あなたはそれが偽物だと言いますが、そうではありません。周波数領域は、ある意味で、時間領域の反転です。

周波数=1/時間

与えられた標準偏差は時間内にあり、変換しても時間内にあります(定数は変換されません)。

時間の観点からいくつかのsを使用してガウスの時間バージョンを見つけたとします。データを周波数空間に変換します。あなたはそれを使うことができます、そしてそれはそれが想定されているように正確に振る舞います。たとえば、sが小さい場合は、freqstdが発生します。開発者 周波数バージョンでは大きくなります。

繰り返しますが、これは周波数が時間の反転であるためです(これもある意味で)。

ガウス分布の標準が非常に小さいとします。開発者 次に、ディラックのデルタ関数を近似します。これは、周波数領域で正弦波に変換されるためです。つまり、周波数領域全体にまたがる何か。(つまり、無限の標準偏差があります(ガウス分布の場合)。

次のように考えてください。周波数領域で平滑化する必要があります。なめらか?高周波成分ですね。ガウス関数で畳み込むことにより、データの近くで平滑化されます。標準の場合。開発者 小さいので、より高い周波数を維持しています。周波数領域では、これはより多くの周波数を維持していることを意味します。しかし、convは周波数領域での乗算です。周波数領域で薄いガウス関数を乗算すると、周波数の小さなグループが残ります。

G(t)* f(t)G [w] * f [w]

1つ目は、畳み込みです。滑らかなフィルターを作成するには、G(t)を「大きく」(標準偏差を大きく)する必要があります。これは、高周波成分(一種のローパスフィルター)を少なくしたいということを意味します。周波数で。G[w]を掛けているドメイン。これは、高値をブロックするために、G [w]を薄くする(そして原点を中心にする)必要があることを意味します。

基本的に、時間領域では畳み込みがあり、周波数領域では乗算であることに気付いていないと思います。Gは両方で同じにすることはできません。Gが時間領域で薄く、周波数領域で薄い場合、同じ効果は得られません。畳み込みのGシンはほとんど効果がありませんが、周波数のGシンは効果がありません。ドメインはほぼ完全にすべての周波数を削除します(非常に低い周波数だけが維持されます)。

于 2011-01-22T06:27:19.080 に答える