重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

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

拙い説明で申し訳ありませんがよろしくお願いいたします。

A 回答 (3件)

[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]より題意は示された。
----------------------------------------

興味があったので、やってみました。
フーリエ変換の係数とか、細かいところは省略しました。
間違ってたらごめんなさい。

この回答への補足

回答の方、ありがとうございました。

もしよろしければ
dzdw=
| cosθ +sinθ|
| -sinθ cosθ|*dxdy
=(cosθcosθ+sinθsinθ)dxdy
の部分についてなぜこうなるのか教えていただいてもよろしいですか?

補足日時:2008/01/11 11:48
    • good
    • 1

>もしよろしければ


>dzdw=
>| cosθ +sinθ|
>| -sinθ cosθ|*dxdy
>=(cosθcosθ+sinθsinθ)dxdy
>の部分についてなぜこうなるのか教えていただいてもよろしいですか?

返信が遅くなりまして、申し訳ないです。

一般に積分における変数変換をおこなう場合、(dzdwとかの)微小要素前に何か係数がつくのは理解していただけると思います。その係数はどうやって決めているのでしょうか?その決め方がヤコビアンと言われるものだと私は理解しています。ヤコビアンの導出過程や、その計算方法については以下にあげるURLを見ていただくのが早いと思います。

http://ja.wikipedia.org/wiki/%E9%96%A2%E6%95%B0% …

なお、z=3xとかの簡単な場合ですと、こんなヤコビアンなど意識しなくてもdz=3dxとすぐもとまりますが、2次元以上の場合非常にやっかいです。

**感覚的な理解のためには**

z=3xとした場合の例から明らかですが、変数変換すると微小要素の大きさが変わりますから、dzdw=dxdyとは一般には成り立ちません。しかしながら、回転という操作はこの微小要素の大きさを変えませんので、dzdw=dxdyが常に成り立ちます。数学的にはヤコビアンが1になるということに対応します。
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/01/15 21:32

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

この回答への補足

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

補足日時:2008/01/10 15:33
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!