第4章 Python 數字圖像處理(DIP) - 頻率域濾波6 - 二維DFT和IDFT的一些性質 - 平移和旋轉、周期性、對稱性

目錄

    • 二維DFT和IDFT的一些性質
      • 空間間隔和頻率間隔的關系
      • 平移和旋轉
      • 周期性
      • 對稱性

二維DFT和IDFT的一些性質

空間間隔和頻率間隔的關系

Δu=1MΔT(4.69)\Delta u = \frac{1}{M \Delta T} \tag{4.69}Δu=MΔT1?(4.69)
Δv=1NΔZ(4.70)\Delta v = \frac{1}{N \Delta Z} \tag{4.70}Δv=NΔZ1?(4.70)

平移和旋轉

f(x,y)ej2π(u0x/M+v0y/N)?F(u?u0,v?v0)(4.71)f(x, y) e^{j2\pi(u_0 x/M + v_0 y /N)} \Leftrightarrow F(u - u_0, v - v_0) \tag{4.71}f(x,y)ej2π(u0?x/M+v0?y/N)?F(u?u0?,v?v0?)(4.71)

f(x?x0,y?y0)?F(u,v)e?j2π(u0x/M+v0y/N)(4.72)f(x - x_0, y - y_0) \Leftrightarrow F(u, v) e^{-j2\pi(u_0 x/M + v_0 y /N)} \tag{4.72}f(x?x0?,y?y0?)?F(u,v)e?j2π(u0?x/M+v0?y/N)(4.72)

也就是說,用所示的指數項乘以f(x,y)f(x, y)f(x,y)將使DFT的原點移到點(u0,v)(u_0, v_)(u0?,v)?處;反之,用負指數項乘以F(u,v)F(u, v)F(u,v)將使f(x,y)f(x, y)f(x,y)的原點移到點(x0,y0)(x_0, y_0)(x0?,y0?)處。平移不影響F(u,v)F(u, v)F(u,v)的幅度(譜)

使用極坐標
x=rcosθ,y=rsinθ,u=ωcosφ,v=ωsinφx = r \text{cos}\theta, \quad y = r\text{sin}\theta, \quad u = \omega\text{cos}\varphi, \quad v = \omega\text{sin}\varphix=rcosθ,y=rsinθ,u=ωcosφ,v=ωsinφ
可得下面的變換對:
f(r,θ+θ0)?F(ω,φ+θ0)(4.73)f(r, \theta + \theta_0) \Leftrightarrow F(\omega, \varphi + \theta_0) \tag{4.73}f(r,θ+θ0?)?F(ω,φ+θ0?)(4.73)

周期性

二維傅里葉變換及其反變換在uuu方向和vvv方向是無限周期的,即有(k1,k2k_1,k_2k1?,k2?是整數):
F(u,v)=F(u+k1M,v)=F(u,v+k2N)=F(u+k1M,v+k2N)(4.74)F(u, v) = F(u + k_1M, v) = F(u, v+k_2N) = F(u + k_1M, v + k_2N) \tag{4.74}F(u,v)=F(u+k1?M,v)=F(u,v+k2?N)=F(u+k1?M,v+k2?N)(4.74)

f(x,y)=f(x+k1M,y)=f(x,y+k2N)=f(x+k1M,y+k2N)(4.75)f(x, y) = f(x + k_1M, y) = f(x, y + k_2N) = f(x + k_1M, y + k_2N) \tag{4.75}f(x,y)=f(x+k1?M,y)=f(x,y+k2?N)=f(x+k1?M,y+k2?N)(4.75)

對稱性

任意實函數或復函數w(x,y)w(x, y)w(x,y)均可表示為廳數部和偶數部之和,其中奇數部和偶數部鄧可以是實數,也可以是復數:
w(x,y)=we(x,y)+wo(x,y)(4.77)w(x, y) = w_{e}(x, y) + w_{o}(x, y) \tag{4.77}w(x,y)=we?(x,y)+wo?(x,y)(4.77)

偶數部:
we(x,y)?w(x,y)+w(?x,?y)2(4.78)w_{e}(x, y) \triangleq \frac{w(x, y) + w(-x, -y)}{2} \tag{4.78}we?(x,y)?2w(x,y)+w(?x,?y)?(4.78)

奇數部:
wo(x,y)?w(x,y)?w(?x,?y)2(4.79)w_{o}(x, y) \triangleq \frac{w(x, y) - w(-x, -y)}{2} \tag{4.79}wo?(x,y)?2w(x,y)?w(?x,?y)?(4.79)

根據上述式子,可得到

we(x,y)=we(?x,?y)(4.80)w_{e}(x, y) = w_{e}(-x, -y) \tag{4.80}we?(x,y)=we?(?x,?y)(4.80)

wo(x,y)=?wo(?x,?y)(4.81)w_{o}(x, y) = -w_{o}(-x, -y) \tag{4.81}wo?(x,y)=?wo?(?x,?y)(4.81)

也就是說偶函數是對稱的,奇函數是反對稱的。

因為DFT和IDFT中所有指數都是非負的整數,所以當我們談論對稱 性(反對稱性)時,指的是關于序列中心點的對稱性(反對稱性),此時介數部和奇數部定義為:

we(x,y)=we(M?x,N?y)(4.82)w_{e}(x, y) = w_{e}(M - x, N - y) \tag{4.82}we?(x,y)=we?(M?x,N?y)(4.82)

wo(x,y)=?wo(M?x,N?y)(4.83)w_{o}(x, y) = -w_{o}(M - x, N - y) \tag{4.83}wo?(x,y)=?wo?(M?x,N?y)(4.83)

兩個偶函數的積或兩個奇函數的積是偶函數,而一個偶函數和一個奇函數的積是奇函數。

對于任意兩個離散的偶函數wew_{e}we?和奇函數wow_{o}wo?
∑x=0M?1∑y=0N?1we(x,y)wo(x,y)(4.84)\sum_{x=0}^{M-1} \sum_{y=0}^{N-1} w_{e}(x, y) w_{o}(x, y) \tag{4.84}x=0M?1?y=0N?1?we?(x,y)wo?(x,y)(4.84)

離散函數是奇函數的唯一條件是其所有樣本之和為零

我的理解是,如果偶數個離散點的話,我們需要找到對稱中心,中心一般是floor(M/2)。如果是偶數個點的話,那需要補多一個數,這樣才能有對稱的中心。
下面的題,給出的序列是4個數,中心為2。如果是5個數的話,那中心還是2,但左邊是2個數,右邊也是兩個數。

但后面又說這樣做不對,不知道是如何理解呢?

# 離散偶數性
f = np.array([2, 1, 1, 1])
M = f.shape[0]
print(f'M = {M}')# f(x) = f(4 - x), f(0) = f(4), f(1) = f(3), f(2) = f(2), f(3) = f(1)
fx = np.zeros([M + 1])
fx[:M] = f
fx[M] = f[0]
print(fx)
M = 4
[2. 1. 1. 1. 2.]

奇序列的性質,即其第一項wo(0,0)w_{o}(0, 0)wo?(0,0)永遠是0,當M為偶數是,一維奇序列在伴0和M/2處的值總為零

# 離散奇數性
g = np.array([0, -1, 0, 1])
M = g.shape[0]
print(f'M = {M}')# g(x) = -g(4 - x), g(0) = 0, g(1) = -g(3), g(2) = g(2), g(3) = -g(1)
gx = np.zeros([M + 1])
gx[:M] = g
gx[M] = g[0]
print(gx)
M = 4
[ 0. -1.  0.  1.  0.]

序列的偶序列還是奇序列取決于序列的長度。{0, -1, 0, 1}是奇序列,但{0, -1, 0, 1,0}既不是奇序列,也不是偶序列

例如下面一個6×66\times66×6的二維陣列 [ 記住,從(0, 0)開始計數 ] 是奇序列,

KaTeX parse error: Expected group after '\begin{array}' at position 15: \begin{array} _? & 0 & 0 & 0 & …

然后,添加一行為和一列0后得到的結果即不是奇陣列又不是偶陣列。

一般來說,將偶數維的二維陣列插入一個較大的零陣列時,只要中心生命,那么得到的陣列也是偶數維的,這個陣列保留了較小陣列的對稱性。
奇數維的二維陣列可以插入奇數維的更多大零陣列,而不影響基對稱性。

實函數f(x,y)f(x, y)f(x,y)的傅里葉變換是共軛對稱的
F?(u,v)=F(?u,?v)(4.85)F^*(u, v) = F(-u, -v) \tag{4.85}F?(u,v)=F(?u,?v)(4.85)

二維DFT及其反變換的一些對稱 性質

空間域 頻率域
1)f(x,y)f(x, y)f(x,y)實函數?\Leftrightarrow?F?(u,v)=F(?u,?v)F^*(u, v) = F(-u, -v)F?(u,v)=F(?u,?v)
2)f(x,y)f(x, y)f(x,y)虛函數?\Leftrightarrow?F?(?u,?v)=?F(u,v)F^*(-u, -v) = -F(u, v)F?(?u,?v)=?F(u,v)
3)f(x,y)f(x, y)f(x,y)實函數?\Leftrightarrow?R(u,v)R(u, v)R(u,v)偶函數;I(u,v)I(u, v)I(u,v)奇函數
4)f(x,y)f(x, y)f(x,y)虛函數?\Leftrightarrow?R(u,v)R(u, v)R(u,v)奇函數;I(u,v)I(u, v)I(u,v)偶函數
5)f(?x,?y)f(-x, -y)f(?x,?y)實函數?\Leftrightarrow?F?(u,v)F^*(u, v)F?(u,v)復函數
6)f(?x,?y)f(-x, -y)f(?x,?y)復函數?\Leftrightarrow?F(?u,?v)F(-u, -v)F(?u,?v)復函數
7)f?(x,y)f^*(x, y)f?(x,y)復函數?\Leftrightarrow?F?(?u,?v)F^*(-u, -v)F?(?u,?v)復函數
8)f(x,y)f(x, y)f(x,y)實函數和偶函數?\Leftrightarrow?F(u,v)F(u, v)F(u,v)實函數和偶函數
9)f(x,y)f(x, y)f(x,y)實函數和奇函數?\Leftrightarrow?F(u,v)F(u, v)F(u,v)虛函數和偶函數
10)f(x,y)f(x, y)f(x,y)虛函數和偶函數?\Leftrightarrow?F(u,v)F(u, v)F(u,v)虛函數和偶函數
11)f(x,y)f(x, y)f(x,y)虛函數和奇函數?\Leftrightarrow?F(u,v)F(u, v)F(u,v)實函數和奇函數
12)f(x,y)f(x, y)f(x,y)復函數和偶函數?\Leftrightarrow?F(u,v)F(u, v)F(u,v)復函數和偶函數
13)f(x,y)f(x, y)f(x,y)復函數和偶函數?\Leftrightarrow?F(u,v)F(u, v)F(u,v)復函數和奇函數

R(u,v)R(u, v)R(u,v)I(u,v)I(u, v)I(u,v)分別是F(u,v)F(u, v)F(u,v)的實部和虛部

下面是一維函數性質的一些說明

def print_array(arrs):for arr in arrs:if arr.imag >= 0:print(str(arr.real) + "+" + str(arr.imag) +"j", end=', ')else:print(str(arr.real) + str(arr.imag) +"j", end=', ')
# 性質3 實函數 <=> R偶函數,I奇函數
f = np.array([1, 2, 3, 4])F = np.fft.fft(f)
print_array(F)
10.0+0.0j, -2.0+2.0j, -2.0+0.0j, -2.0-2.0j, 
# 性質4 虛函數 <=> R奇函數,I偶函數
f = np.array([1j, 2j, 3j, 4j]) / 4F = np.fft.fft(f)
print_array(F)
0.0+2.5j, -0.5-0.5j, 0.0-0.5j, 0.5-0.5j, 
# 性質8 實函數和偶函數 <=> 實函數和偶函數
f = np.array([2, 1, 1, 1])F = np.fft.fft(f)
print_array(F)
5.0+0.0j, 1.0+0.0j, 1.0+0.0j, 1.0+0.0j, 
# 性質9 實函數和奇函數 <=> 虛函數和奇函數
f = np.array([0, -1, 0, 1])F = np.fft.fft(f)
print_array(F)
0.0+0.0j, 0.0+2.0j, 0.0+0.0j, 0.0-2.0j, 
# 性質10 虛函數和偶函數 <=> 虛函數和偶函數
f = np.array([2j, 1j, 1j, 1j])F = np.fft.fft(f)
print_array(F)
0.0+5.0j, 0.0+1.0j, 0.0+1.0j, 0.0+1.0j, 
# 性質11 虛函數和奇函數 <=> 實函數和奇函數
f = np.array([0j, -1j, 0j, 1j])F = np.fft.fft(f)
print_array(F)
0.0+0.0j, -2.0+0.0j, 0.0+0.0j, 2.0+0.0j, 
# 性質12 復函數和偶函數 <=> 復函數和偶函數
f = np.array([4+4j, 3+2j, 0+2j, 3+2j])F = np.fft.fft(f)
print_array(F)
10.0+10.0j, 4.0+2.0j, -2.0+2.0j, 4.0+2.0j, 
# 性質13 復函數和奇函數 <=> 復函數和奇函數
f = np.array([0+0j, 1+1j, 0+0j, -1-1j])F = np.fft.fft(f)
print_array(F)
0.0+0.0j, 2.0-2.0j, 0.0+0.0j, -2.0+2.0j, 

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/260719.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/260719.shtml
英文地址,請注明出處:http://en.pswp.cn/news/260719.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

類圖 示例

神州六號飛船是神州飛船系統的一種&#xff0c;它由軌道艙、返回艙、推進艙和逃逸求生塔等組成&#xff1b;航天員可以在返回艙內駕駛飛船&#xff0c;軌道艙由是航天員工作和休息的場所。在緊急的情況下&#xff0c;可以利用逃逸求生塔逃生。在飛船兩側有多個太陽能電池翼&…

bat 命令返回結果_bat教程[284] unzip解壓

古樹屋Click to follow us(1)unzip命令的簡介C:\Users\86137\Desktop>unzip -hUnZip 6.00 of 20 April 2009, by Info-ZIP. Maintained by C. Spieler. Sendbug reports using http://www.info-zip.org/zip-bug.html; see README for details.Usage: unzip [-Z] [-opts[mo…

K/3 MRP運算數據不準的原因及解決方案

系統MRP計算的結果不正確, 經過分析系統的數據&#xff0c;把MRP計算不正確原因整理如下:1.系統中存在大量的生產任務單沒有完全領料&#xff0c;但被結案&#xff0c;造成部份領料單竄單領料&#xff0c;最終引起已分配量不正確2.系統中存在大量的手工錄入的生產領料單3.存在部…

解壓版本的tomcat服務安裝

以下適合各個版本的tomcat&#xff08;注意啟動時8080端口要確保未被占用&#xff09; 今天搭一個Tomcat服務器,為了方便決定將解壓版&#xff08;非windows的安裝方式&#xff09;的tomcat添加為一個windows服務。 環境&#xff1a; JDK 1.5.0_06 Tomcat-5.5.20 Windows2003 瑞…

Framework7:不會Objective-C,也能開發iOS7應用

摘要&#xff1a;Framework7是一款開源的輕量級HTML框架&#xff0c;用來創建混合或有著iOS7原生體驗的Web應用。其包含HTML布局、所有基礎界面、動畫效果、視圖以及簡單的自定義樣式&#xff0c;讓你無需修煉Objective-C語言&#xff0c;就可以構建自己的iOS7應用。 Framework…

第4章 Python 數字圖像處理(DIP) - 頻率域濾波7 - 二維DFT和IDFT的一些性質 - 傅里葉頻譜和相角

目錄二維DFT和IDFT的一些性質傅里葉頻譜和相角二維DFT和IDFT的一些性質 傅里葉頻譜和相角 F(u,v)R(u,v)jI(u,v)∣F(u,v)∣ej?(u,v)(4.86)F(u, v) R(u, v) jI(u, v) |F(u, v)|e^{j\phi(u,v)} \tag{4.86}F(u,v)R(u,v)jI(u,v)∣F(u,v)∣ej?(u,v)(4.86) 幅度&#xff0c;稱為…

jquery 判斷是否有類名_Day037-JS、jQuery

第73次(JavaScript)學習主題&#xff1a;JavaScript學習目標&#xff1a;1 掌握js的表單驗證2 熟練敲出制作購物車代碼,盡量不要看老師的代碼1. 表單驗證A(1) 如何可以產生一個4位的隨機數驗證碼Math.floor(Math.random()*90001000)(2) 如何控制表單是否提交的通過設置form表單…

csc.exe的環境變量設置

默認情況下&#xff0c;這個路徑是不在 Path 環境變量中的。你在命令行下直接輸入 csc&#xff0c;windows不會到上面那個路徑中去找這個程序。所以也就提示找不到文件了。 設置方法&#xff1a; 1) 在“我的電腦”上點擊右鍵&#xff0c;現在“屬性”&#xff1b; 2) 在彈出的…

如何分析解決Android ANR

[java] view plaincopy print?來自&#xff1a; http://blog.csdn.net/tjy1985/article/details/6777346 http://blog.csdn.net/tjy1985/article/details/6777355 http://blog.csdn.net/tjy1985/article/details/6777983 http://www.eoeandroid.com/forum.php?modviewthr…

第4章 Python 數字圖像處理(DIP) - 頻率域濾波8 - 二維DFT和IDFT的一些性質 - 二維離散卷積定理

目錄二維DFT和IDFT的一些性質二維離散卷積定理二維離散傅里葉變換性質的小結二維DFT和IDFT的一些性質 二維離散卷積定理 二維循環卷積表達式&#xff1a; (f?h)(x,y)∑m0M?1∑n0N?1f(m,n)h(x?m,y?n)(4.94)(f \star h)(x, y) \sum_{m0}^{M-1} \sum_{n0}^{N-1} f(m,n)h(x…

jmeter中重定向多個正則表達式_2020年jmeter技術實戰續集,最新技術全棧,值得收藏

在上一篇&#xff1a;主要介紹線程組、HTTP請求默認值、用戶定義的變量、固定定時器的應用場景及實戰。以下主要介紹正則表達式提取器、調式取樣器(Debug Sampler)、響應斷言、HTTP信息頭管理器的應用場景及實戰。一、正則表達式提取器1、使用場景從請求的響應結果中取到需要的…

[置頂] 均衡音效

[置頂] 均衡音效 1均衡的作用 均衡器是一種可以分別調節各種頻率成分電信號放大量的電子設備&#xff0c;通過對各種不同頻率的電信號的調節來補償揚聲器和聲場的缺陷&#xff0c;補償和修飾各種聲源及其它特殊作用。具體來說&#xff0c;它的作用如下&#xff1a; &#xff08…

html5之web worker

Web Worker 在本文中 與 Web Worker 進行雙向通信WindowTimers在 IE10 Platform Preview 4 中對 Web Worker 的更新API 參考示例和教程有關 Internet Explorer 的 Test Drive 演示IEBlog 文章規范相關主題Internet Explorer 10 和使用 JavaScript 的 Windows 應用商店應用引入了…

第4章 Python 數字圖像處理(DIP) - 頻率域濾波9 - 頻率域濾波基礎、頻率域的濾波過程、低通、高通

目錄頻率域濾波基礎頻率域的其他特性頻率域濾波基礎知識頻率域濾波步驟小結空間域和頻率域濾波之間的對應關系頻率域濾波基礎 頻率域的其他特性 頻率域中的濾波過程如下&#xff1a; 首先修改傅里葉變換以在到特定目的然后計算IDFT&#xff0c;返回到空間域 # 頻率域中的其…

C# :試玩EventLog

1. 專門創建Source的Log   創建了Source&#xff0c;log顯示在 Event viewer/Applications and Services logs/ 自定義Source 中&#xff0c;待遇比較高&#xff0c;專門顯示的。 創建Source需要管理員身份&#xff0c;否則Crash。 如果已經打開了 Computer Management,請關閉…

css 宋體_Java前端基礎(一)之html/css

1.1 htmlHTML:超文本標記語言(Hyper Text Markup Language)&#xff0c;標準通用標記語言下的一個應用。HTML 不是一種編程語言&#xff0c;而是一種標記語言 (markup language)&#xff0c;是網頁制作所必備的WEB開發工具&#xff1a;hbuilder/webstorm/vs code/eclpise最簡單…

View Controller Programming Guide for iOS---(七)---Resizing the View Controller’s Views

Resizing the View Controller’s Views A view controller owns its own view and manages the view’s contents. In the process, the view controller also manages the view’s subviews. But in most cases, the view’s frame is not set directly by the view controll…

基于百度地圖js進行地理定位

http://www.mengxiangchaoren.com/jquery.select.position.min.js 使用方法 $("#myCity").renderSelect({posByGps:true,bdAk:BD_AK});轉載于:https://www.cnblogs.com/Brose/p/jquery_select_position.html

C#接口-接口作用

C#接口是一個讓很多初學C#者容易迷糊的東西&#xff0c;用起來好像很簡單&#xff0c;定義接口&#xff0c;里面包含方法&#xff0c;但沒有方法具體實現的代碼&#xff0c;然后在繼承該接口的類里面要實現接口的所有方法的代碼&#xff0c;但沒有真正認識到接口的作用的時候就…

gpio的8種工作模式_Stm32之GPIO工作模式簡介

GPIO的8種工作模式GPIO初始化結構體的時候&#xff0c;必須要配置合適的工作模式&#xff0c;這樣才能使得IO口發揮應有的作用。工作模式大體上共分為輸入輸出兩類&#xff0c;共8種&#xff0c;下面將介紹這8種工作模式。GPIO工作模式輸入模式GPIO_Mode_AIN 模擬輸入 GPIO_Mod…