• ベストアンサー

2次元フーリエ変換

ある画像f(x,y)をθ回転させたものを2次元フーリエ変換すると、それはf(x,y)の2次元フーリエ変換F(u,v)の結果をθ回転したものになるみたいなのですが、どうしてそうなるのかわかりません。 拙い説明で申し訳ありませんがよろしくお願いいたします。

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

  • ベストアンサー
  • atushi256
  • ベストアンサー率62% (10/16)
回答No.2

[A] 回転なしで変換する場合、単純にフーリエ変換するだけなので、 F(u,v)=∬f(x,y)*exp(i{u,v}・{x,y})dxdy [B] θ回転させるには、以下の様に座標変換をすればよいから、 x <= x*cosθ-y*sinθ y <= x*sinθ+y*cosθ f(x,y) <= f(x*cosθ-y*sinθ,x*sinθ+y*cosθ) θ回転させた後にフーリエ変換した場合 F(u,v)=∬f(x*cosθ-y*sinθ,x*sinθ+y*cosθ)*exp(i{u,v}・{x,y})dxdy [C] フーリエ変換後にθ回転させた場合 u => u*cosθ-v*sinθ v => u*sinθ+v*cosθ F(u,v)=∬f(x,y)*exp(i{u*cosθ-v*sinθ,u*sinθ+v*cosθ}・{x,y})dxdy =∬f(x,y)*exp(i{u*x*cosθ-v*x*sinθ+u*y*sinθ+v*y*cosθ})dxdy =∬f(x,y)*exp(i{u*(x*cosθ+y*sinθ)+v*(-x*sinθ+y*cosθ)})dxdy =∬f(x,y)*exp(i{u,v}・{x*cosθ+y*sinθ,-x*sinθ+y*cosθ})dxdy 以下の様な変数変換を考える z = x*cosθ+y*sinθ w = -x*sinθ+y*cosθ ここでx,yについて逆に解くと x = z*cosθ-w*sinθ y = z*sinθ+w*cosθ また dzdw= | cosθ +sinθ| | -sinθ cosθ|*dxdy =(cosθcosθ+sinθsinθ)dxdy =dxdy 以上より F(u,v)=∬f(z*cosθ-w*sinθ,z*sinθ+w*cosθ)*exp(i{u,v}・{z,w})dzdw 積分変数の文字は自由に変えてよいからz->x,w->yと書けば F(u,v)=∬f(x*cosθ-y*sinθ,x*sinθ+y*cosθ)*exp(i{u,v}・{x,y})dxdy [B]と[C]より題意は示された。 ---------------------------------------- 興味があったので、やってみました。 フーリエ変換の係数とか、細かいところは省略しました。 間違ってたらごめんなさい。

mtn8
質問者

補足

回答の方、ありがとうございました。 もしよろしければ dzdw= | cosθ +sinθ| | -sinθ cosθ|*dxdy =(cosθcosθ+sinθsinθ)dxdy の部分についてなぜこうなるのか教えていただいてもよろしいですか?

その他の回答 (2)

  • atushi256
  • ベストアンサー率62% (10/16)
回答No.3

>もしよろしければ >dzdw= >| cosθ +sinθ| >| -sinθ cosθ|*dxdy >=(cosθcosθ+sinθsinθ)dxdy >の部分についてなぜこうなるのか教えていただいてもよろしいですか? 返信が遅くなりまして、申し訳ないです。 一般に積分における変数変換をおこなう場合、(dzdwとかの)微小要素前に何か係数がつくのは理解していただけると思います。その係数はどうやって決めているのでしょうか?その決め方がヤコビアンと言われるものだと私は理解しています。ヤコビアンの導出過程や、その計算方法については以下にあげるURLを見ていただくのが早いと思います。 http://ja.wikipedia.org/wiki/%E9%96%A2%E6%95%B0%E8%A1%8C%E5%88%97%E5%BC%8F なお、z=3xとかの簡単な場合ですと、こんなヤコビアンなど意識しなくてもdz=3dxとすぐもとまりますが、2次元以上の場合非常にやっかいです。 **感覚的な理解のためには** z=3xとした場合の例から明らかですが、変数変換すると微小要素の大きさが変わりますから、dzdw=dxdyとは一般には成り立ちません。しかしながら、回転という操作はこの微小要素の大きさを変えませんので、dzdw=dxdyが常に成り立ちます。数学的にはヤコビアンが1になるということに対応します。

mtn8
質問者

お礼

詳しい回答ありがとうございました! ヤコビアンというものを知らなかったので、とても役に立ちました。また、感覚的な理解についても示していただいて、どうもありがとうございました。数式というものが苦手な方なので本当に助かりました!

  • guuman
  • ベストアンサー率30% (100/331)
回答No.1

画像関数f(x.y)をΘ回転してできる画像関数g(x,y)をf,x,yで表し補足に書け

mtn8
質問者

補足

g(x,y)=(x・cosθ-y・sinθ,x・sinθ+y・cosθ) ですか? あまり自信がありません。

関連するQ&A