關於極座標下圖像旋轉與二維傅里葉變換的討論

1、問題背景

此問題來源於岡薩雷斯的數字圖像處理(第三版)5.19題,自己做的時候,沒發現哪裏有問題,一個同學的提問使我重新審視了這個問題,並感覺對傅里葉變換有了新的理解。
在這裏插入圖片描述根據下面一部分的基礎知識,我們可以計算出線性運動對應的模糊濾波器H(u,v)H(u,v),但是對於圖像的旋轉,這種非線性的圖像變換關係,並沒有給出直接的計算方法分理出H(u,v)H(u,v)。比較自然地,我們考慮使用極座標變換(r,θ)(r,\theta),使得圖像的旋轉隨着θ\theta線性變化,進而求出恢復後的圖像。

2、基礎知識

在圖像獲取的過程中,圖像與傳感器之間的線性運動會使最終得到的圖像出現模糊現象。對於這種線性模糊,往往可以通過積分來處理:假設圖像f(x,y)f(x,y)進行平面運動,x0(t)x_0(t)y0(t)y_0(t)分別是在xxyy方向上隨時間變化的分量,那麼在記錄介質任意點的曝光總數是通過對時間間隔內瞬時曝光量的積分得到的,設TT爲曝光時間,則有
g(x,y)=0Tf[xx0(t),yy0(t)]dt(2.1) g(x, y)=\int_{0}^{T} f\left[x-x_{0}(t), y-y_{0}(t)\right] \mathrm{d} t\tag{2.1}

其中,g(x,y)g(x,y)爲模糊後的圖像。

根據傅里葉變換的定義,可得
G(u,v)=g(x,y)ej2π(ux+vy)dxdy=[0Tf[xx0(t),yy0(t)]dt]ej2π(ux+vy)dxdy(2.2) \begin{aligned} G(u, v) &=\int_{-\infty}^{\infty} \int_{-\infty}^{\infty} g(x, y) \mathrm{e}^{-\mathrm{j} 2 \pi(u x+v y)} \mathrm{d} x \mathrm{d} y \\ &=\int_{-\infty}^{\infty} \int_{-\infty}^{\infty}\left[\int_{0}^{T} f\left[x-x_{0}(t), y-y_{0}(t)\right] \mathrm{d} t\right] \mathrm{e}^{-\mathrm{j} 2 \pi(u x+v y)} \mathrm{d} x \mathrm{d} y \end{aligned}\tag{2.2}

改變積分順序,可得
G(u,v)=0T[f[xx0(t),yy0(t)]ej2π(ux+vy)dxdy]dt(2.3) G(u, v)=\int_{0}^{T}\left[\int_{-\infty}^{\infty} \int_{-\infty}^{\infty} f\left[x-x_{0}(t), y-y_{0}(t)\right] \mathrm{e}^{-\mathrm{j} 2 \pi(u x+v y)} \mathrm{d} x \mathrm{d} y\right] \mathrm{d} t\tag{2.3}

外層方括號內的積分項是位移函數f[xx0(t),yy0(t)]f\left[x-x_{0}(t), y-y_{0}(t)\right]的傅里葉變換,由此可得
G(u,v)=0TF(u,v)ej2π[ux0(t)+vy0(t)]dt=F(u,v)0Tej2π[ux0(t)+vy0(t)]dt(2.4) \begin{aligned} G(u, v) &=\int_{0}^{T} F(u, v) e^{-j 2 \pi\left[u x_{0}(t)+v y_{0}(t)\right]} d t \\ &=F(u, v) \int_{0}^{T} e^{-j 2 \pi\left[u x_{0}(t)+v y_{0}(t)\right]} d t \end{aligned}\tag{2.4}


H(u,v)=0Tej2π[ux0(t)+vy0(t)]dt(2.5) H(u, v)=\int_{0}^{T} \mathrm{e}^{-\mathrm{j} 2 \pi\left[u x_{0}(t)+v y_{0}(t)\right]} \mathrm{d} t\tag{2.5}

則式(2.4)(2.4)可以表示爲
G(u,v)=H(u,v)F(u,v)(2.6) G(u, v)=H(u, v) F(u, v)\tag{2.6}

這樣,對於不考慮噪聲的情況下,得到G(u,v)G(u,v)之後,我們根據已有經驗(圖像線性運動的軌跡函數x0(t)x_0(t)y0(t)y_0(t)),計算模糊函數H(u,v)H(u,v),經過逆濾波得到F(u,v)F(u,v),再進行逆傅里葉變換,得到恢復後的f(x,y)f(x,y)

3、問題解決

對於旋轉造成的模糊,由於圖像在X和Y方向上並非線性變化,因此不能直接使用上面的公式。爲了使用式(2.5)(2.5),我們需要從線性的角度去刻畫圖像的旋轉過程,即使用極座標:
x=rcosθy=rsinθr=x2+y2θ=atan(yx)(3.1) \begin{array}{c} x=r \cos \theta \\ y=r \sin \theta \\ r=\sqrt{x^{2}+y^{2}} \\ \theta=\operatorname{atan}\left(\frac{y}{x}\right)\tag{3.1} \end{array}

由上式,我們可以將圖像由平面直角座標(x,y)(x,y)映射到極座標(r,θ)(r,\theta),將模糊圖像在極座標系下進行復原處理之後,再由x=rcosθ,y=rsinθ即可得到復原後的方形圖像,具體如下:
先進行極座標變換:
g(x,y)(3.1)g(r,θ)(3.2) g(x, y) \stackrel{(3.1)}{\longrightarrow} g(r, \theta)\tag{3.2}

定義傅里葉變換對及其對應的變量組合(r,θ)(u,v)(r,θ)↔(u',v')
G(u,v)=FT[g(r,θ)]=g(r,θ)ej2π(ur+vθ)drdθ(3.3) G\left(u^{\prime}, v^{\prime}\right)=F T[g(r, \theta)]=\iint g(r, \theta) e^{-j 2 \pi\left(u^{\prime} r+v^{\prime} \theta\right)} d r d \theta\tag{3.3}

根據式(2.5)(2.5),同時不妨設圖像是逆時針旋轉造成的模糊,即
r0(t)=0,θ0(t)=π12tT,0tT(3.4) r_{0}(t)=0, \quad \theta_{0}(t)=\frac{\pi}{12} \frac{t}{T}, \quad 0 \leq t \leq T\tag{3.4}

H(u,v)=0Tej2π[ur0(t)+vθ0(t)]dt(3.5) H\left(u^{\prime}, v^{\prime}\right)=\int_{0}^{T} e^{-j 2 \pi\left[u^{\prime} r_{0}(t)+v^{\prime} \theta_{0}(t)\right]} d t\tag{3.5}

求出H(u^’,v’)之後,可以通過逆濾波(3.6)(3.6)和逆傅里葉變換(3.7)(3.7),得到恢復後圖像的極座標表示:
F(u,v)=G(u,v)H(u,v)(3.6) F\left(u^{\prime}, v^{\prime}\right)=\frac{G\left(u^{\prime}, v^{\prime}\right)}{H\left(u^{\prime}, v^{\prime}\right)}\tag{3.6}

f(r,θ)=IFT[F(u,v)]=F(u,v)ej2π(ur+vθ)dudv(3.7) f(r, \theta)=I F T\left[F\left(u^{\prime}, v^{\prime}\right)\right]=\iint F\left(u^{\prime}, v^{\prime}\right) e^{j 2 \pi\left(u^{\prime} r+v^{\prime} \theta\right)} d u d v\tag{3.7}

再經過座標系變換,即得到恢復後的圖像f(x,y)f(x,y)
f(r,θ)(3.1)f(x,y) f(r, \theta) \stackrel{(3.1)}{\longrightarrow} f(x, y)

4、問題探討

這裏有同學問到一個問題,你這上面用的是極座標進行的傅里葉變換,那就應該在變換前後都用極座標來表示,課本上也給出了極座標下的傅里葉變換的性質(角度變化一致性),是不是應該按照課本上呢?但是按照課本上的好像無法分離出H(u,v)H(u,v),這怎麼辦呢?我們來分析一下

課本中的公式:
在這裏插入圖片描述按照課本來說,對傅里葉變換前後的f(x,y)f(x,y)F(u,v)F(u,v)分別進行極座標變換,得到f(r,θ)f(r,\theta)F(ω,φ)F(\omega,\varphi),然後就有f(r,θ+θ0)F(ω,φ+θ0)f\left(r, \theta+\theta_{0}\right) \Leftrightarrow F\left(\omega, \varphi+\theta_{0}\right),即空間域圖像旋轉多少度,頻域圖像也旋轉多少度。

這實際上是有問題的,問題在於(4.6-5)式其實是一種不規範的傅里葉變換對錶達方式。我們知道,傅里葉變換對應該滿足定義式:
F(u,v)=f(x,y)ej2π(ux+vy)dxdy(4.1)F(u, v)=\iint f(x, y) e^{-j 2 \pi(u x+v y)} d x d y\tag{4.1}

但是經過極座標變換之後,變量(r,θ)(r,\theta)(ω,φ)(\omega,\varphi)之間滿足的卻是如下關係:
F(ω,φ)f(r,θ)ej2π(ωr+φθ)drdθ(4.2)F(\omega, \varphi) \neq \iint f(r, \theta) e^{-j 2 \pi(\omega r+\varphi \theta)} d r d \theta\tag{4.2}

F(ω,φ)=f(r,θ)ej2πωrcos(φθ)rdrdθ(4.3)F(\omega, \varphi)=\iint f(r, \theta) e^{-j 2 \pi \omega r \cos (\varphi-\theta)} r d r d \theta\tag{4.3}

可見,變量(r,θ)(r,\theta)(ω,φ)(\omega,\varphi)之間並不是真正意義上的傅里葉變換對的關係,那麼它們就不能保證具有傅里葉變換對之間的各種性質(包括平移性質),事實上也就不應該用f(r,θ)F(ω,φ)f\left(r, \theta\right) \Leftrightarrow F\left(\omega, \varphi\right)來表示,因爲它們不滿足FT的定義。書中這樣表示只是有助於我們觀察和理解圖像旋轉後的頻譜,並不是說它們之間是嚴格的傅里葉變換對。

反觀 3、問題解決 中的變量對(r,θ)(r,\theta)(u,v)(u',v'),由於(u,v)(u',v')是根據FT的定義所決定的,
G(u,v)=FT[g(r,θ)]=g(r,θ)ej2π(ur+vθ)drdθ(3.3) G\left(u^{\prime}, v^{\prime}\right)=F T[g(r, \theta)]=\iint g(r, \theta) e^{-j 2 \pi\left(u^{\prime} r+v^{\prime} \theta\right)} d r d \theta\tag{3.3}

因而可以使用f(r,θ)F(u,v)f\left(r, \theta\right) \Leftrightarrow F\left(u', v'\right)表示變量之間的關係(如下圖所示)。
在這裏插入圖片描述
這也告訴我們,傅里葉變換關係實際上指的是變量之間的關係,對於一組變量(a,b)(a,b),對這組變量構成的函數f(a,b)f(a,b)進行傅里葉變換,得到了結果F(c,d)F(c,d),那麼可以說:
f(a,b)F(c,d)(4.4)f\left(a, b\right) \Leftrightarrow F\left(c, d\right)\tag{4.4}

如果對變量(c,d)(c,d)進行一些變換(特別是非線性變換),得到了新的變量(c,d)(c',d'),那麼由於不滿足傅里葉變換的定義,不能保證下式仍然成立
f(a,b)F(c,d)(4.5)f\left(a, b\right) \Leftrightarrow F\left(c', d'\right)\tag{4.5}

這即使是(a,b)(a,b)(c,d)(c,d)同時進行了相同的變換,得到了(a,b)(a',b')(c,d)(c',d')也不能保證下式的成立
f(a,b)F(c,d)(4.6)f\left(a', b'\right) \Leftrightarrow F\left(c', d'\right)\tag{4.6}

探索式(4.5)(4.5)(4.6)(4.6)的成立條件是個很有意思的研究方向,但是可以明確的是,這兩個式子的成立條件應該十分苛刻。經過非線性座標變換之後,基本上無法保持原變量之間的傅里葉變換對的性質。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章