• ベストアンサー

画像に対してハニング窓

グレースケールの画像にハニング窓をかけたいのですがどのようにしていいかわかりません。 検索で式は出てきたのですが、音や信号などの1次元のものに対してで画像に対してはどうしていいか見つかりませんでした。 画像の1ピクセルのごとの数値にハニング窓の式を当てはめていけばいいんですか? それとも、たとえばフーリエ変換などをしてその周波数に対してですか?

質問者が選んだベストアンサー

  • ベストアンサー
  • noocyte
  • ベストアンサー率58% (171/291)
回答No.1

窓関数を使ったことはありませんが,次のような方法が考えられると思います. (あくまでも案です.これらがいいかどうかは目的によるでしょう.) 1次元の窓関数を W1(x) (x=0 が窓関数の中心とする) とすると, 2次元の窓関数 W2(x, y) は, 案1:W2(x, y) = W1(x) * W1(y). 案2:W2(x, y) = W1(√(x^2 + y^2)). つまり1次元の窓関数を原点を中心として回転対称にする方法. 窓関数の数学的性質とかスペクトルとかをうるさく言わなければ, ユークリッド距離 √(x^2 + y^2) よりももっと計算が簡単な 距離関数 |x|+|y| や max(|x|,|y|) にした方が,計算量の多い 画像処理にはいいかもしれません. なお,ハニング窓の定義は,0≦x≦1 として, w(x) = (1/2) (1 - cos(2πx)) と定義されていますが,上に書いたように W1(x) は x=0 を中心とするので, x を 1/2 だけずらして, W1(x) = w(x + 1/2) = (1/2) (1 + cos(2πx)),(-1/2 ≦ x ≦ 1/2) とします. 窓関数 (Wikipedia) http://ja.wikipedia.org/wiki/%E7%AA%93%E9%96%A2%E6%95%B0

関連するQ&A

  • フーリエ変換による周波数解析について

    フーリエ変換による周波数解析について 窓関数とは一体どのようにして選べばよいのですか? 一般的にはハニングが用いられているようなのですが、一般的に使われているからといった理由で ハニングを窓関数として用いてもよいものなのか困っています。 加えて質問なのですが サンプリング周期を1μsとした際に、ノイズの影響と思われる変動が波形にみられました。 つまりノイズはとても速い振動している、周波数が高いということでしょうか? もしそうであるならば フーリエ変換を行って際、ノイズの影響によるパワースペクトルは高周波数側にでてくると思うのですが 結果としてホワイトノイズのようになっています。これはノイズは低周波数側にも存在しているということですか? 最後に、フーリエ変換を行う際の設定についてなのですが データ数(サンプリング数)を25000個とすると積算回数は20000回でいいのでしょうか? ※ソフトの設定で選択できる積算回数は1000,2000.5000.10000,20000.50000です。

  • 画像を空間領域から空間周波数領域にフーリエ変換したとき位置から時間に置き換わりますが「画像における時間」ってなんですか?

    画像を空間領域から空間周波数領域にフーリエ変換したとき位置から時間(周波数)に置き換わりますが「画像における時間」ってなんですか?何を意味していますか。詳しくお願いします 空間領域から空間周波数領域にフーリエ変換したとき位置から時間(周波数)に置き換わりますが「画像における時間」っていったいなんですか?何を意味していますか。詳しくお願いします。  また、原画像を2次元フーリエ変換すると中心の光から十字の線が広がっている画像(周りは灰色)になりますがあれはいったいどういう意味なのでしょう?どの原画像もあんな感じになりますがいったい何を表しているのでしょうか?原画像によって変換後の十字画像は若干異なるように見えますがそれが何の違いを表しているのかがわかりません。

  • 空間フーリエ変換のグラフ化ソフトについて 

    こんにちは現在光学を学んでいる大学院生です。 現在実験やシミュレーションによって得たデータを空間フーリエ変換を行いたいと考えております。 一次元の結果 横軸(x座標) 縦軸(信号強度) を 一次元の 横軸(空間周波数or波数) 縦軸(信号強度)となるものです。 Originやmatlab等でフーリエ変換を行うことはできるのですが、空間フーリエ変換を行うことはできないようなのです(企業に質問いたしました。)そこで現在解析ソフトを探しております。 画像解析における二次元空間フーリエ変換のソフトはいくらかあるのですが、 そういたソフトだと、結果が二次元マップで示されてしまい、空間周波数を調べることができません。 どなたか、良いソフトをご存知でしたら教えていただけますでしょうか? よろしくお願いいたします。

  • アナログ信号とフーリエ変換

    デジタル信号の周波数分析として離散フーリエ変換があります。そして、アナログ信号の周波数分析としてフーリエ変換と考えていました。またアナログ信号を離散フーリエ変換で考える方法もあり、アナログ信号をサンプリングすることで離散フーリエ変換で考えることが出来ると考えています。 ですが、「アナログ信号の周波数分析にフーリエ変換を使うと定義されている」という考え方は間違いであると言われました。 何が違うのか分かりません。よく分からないので詳しく教えてください。

  • 音声の周波数ごとの位相を変調したい

    音声の音源について、聞いたときの音は変えず(振幅情報は変えず)、位相情報のみを、指定した周波数帯域ごとに指定した位相差分変調したいと考えています。 たとえば1kHzから2kHzの周波数帯はpi/3、 2kHzから4kHzの周波数帯はpi/2分、位相のみずらしたいといった感じです。 とりあえずハニング窓で1/2シフトで短時間フーリエ変換した後、指定した周波数帯域の位相成分にずらしたい位相差を加え、逆フーリエ変換して時間波形に戻し、足し合わせるといった処理をやってみましたが、窓で切った間隔ごとにノイズの入った音声になってしまいます。 どのようにしたらいいでしょうか?それともそんなことはできないんでしょうか? 初歩的な質問でお恥ずかしいですが、どうぞよろしくお願いします。

  • 実部画像と虚部画像の意味

    ある画像について、2次元の離散フーリエ変換を 実施し、パワースペクトル画像と実部画像と 虚部画像が得られました。 パワースペクトル画像というものは、 その画像がどのような周波数を持つのかが 分かる画像だということは分かったのですが、 実部画像と虚部画像の意味、またはこれらの画像が 表している情報とは何なのかが分かりません。 質問の仕方が悪いのかもしれませんが、 一般的にフーリエ変換した時に得られる 実部の画像と虚部の画像にはどのような意味が あるのでしょうか? ご存知の方がいましたら、お教え願います。

  • 画像の2次元フーリエ変換の結果の表示の仕方について

    現在、C言語で画像に2次元離散フーリエ変換を施し、高速フーリエ変換と比較しろという課題に取り組んでいます。 以下の様なプロセスで2次元フーリエ離散変換を施し、結果を表示しようと思っています。 ・画像を読み込み、float型配列に入れる。 (画像は一番左上が原点とします。256×256のサイズです) ・上記のfloat型配列の、第1象限と第3象限、第2象限と第4象限を各々入れ替える。 ・各行ごと、つまり、f[0][0]~f[0][255]、f[1][0]~f[1][255]、と順々)に1次元離散フーリエ変換を施す。 ・上記のフーリエ変換の結果を各列ごと、つまり、f[0][0]~f[255][0],f[1][1]~f[255][1]という風に1次元離散フーリエ変換を施す。 ・フーリエ変換の結果の、第1象限と第3象限、第2象限と第4象限を各々入れ替える。 ・f[][]のパワースペクトル(実部の2乗+虚部の2乗の、自然対数をとったもの)を計算する。 ・そのパワースペクトルとをfloat型なので、char型に置き換えて画像として出力する。 正規化等の少し細かいところは省略しました。 結果として、参考書等で見かけるもの(真ん中が直流成分で、含まれる周波数を濃淡で表したもの)になればいいのですが、上記のプロセスで大丈夫ですか? パワースペクトルを計算した後に、何らかの移動の処理(つまり、画像の真ん中が直流成分となるような処理)を施す必要がなく、 フーリエ変換の計算の前と後に象限の入れ替えを施すだけで、直流成分が出力画像の真ん中に来るということですか? フーリエ変換の前と後で、象限を入れ替えるだけで周波数空間では原点が真ん中になることが納得できないです。 ややこしい質問ですが、「プロセスのここが間違ってるよ」等を教えていただけると助かります。特にパワースペクトルの部分等。 よろしくお願いします。

  • 画像について

    画像f(x、y)の二次元フーリエ変換がF(u,v)で定義されるとき、空間周波数成分F(u1,v1)の振幅及び位相は、元画像のどのような特徴を表しているのでしょうか?いろいろ本を参考にしたり考えてみてやはり振幅は光の強さ、位相は位置を表しているのではないかと考えたのですがその結論を導くだけの明確な理由がありません。そこでこれに関して何か知っていることがあれば教えていただけないでしょうか? 違うなら指摘していただけるとありがたいです。

  • フーリエ級数展開

    フーリエ級数展開(フーリエ変換)について、その有効性について解説をお願いいたします。 時間軸、周波数軸、信号、変換、周波数ベクトルについても解説をお願いいたします。

  • 高次フーリエ変換のプログラム

    お尋ねします。 1次元のデータ(例えば時系列)をフーリエ変換して周波数による系列に置き換えるプログラム(その逆も)は良く見かけます。FFTなどですね。周波数空間と時間空間の行き来に対応します。 一方、2次元、3次元に対応した高次フーリエ変換のプログラムがダウンロードできないでしょうか。3次元ということは空間ということになり、波数空間と実空間の行き来を可能にするものです。高次のFFTとなるでしょうか。入力としては3次元の空間離散化されたデータA(x,y,z)で、変換されるとA(k1,k2,k3)(離散化)のデータです。その逆もあり、というものです。 スペクトル法などによる数値計算を考えていますが、変換の部分は出来合いのものを使いたいと思っています。よろしくお願いします。

専門家に質問してみよう