處理周期性雜訊率波

小弟再處理 周期性雜訊時 是利用butterworth filter 把頻譜圖的亮點濾掉

已得清晰影像 但是可能是程式哪邊有重大錯誤 使得圖像顛倒

請各位高人指點迷津 謝謝

原始圖

處理後

我的程式碼

關於你的問題...有點像是頻域影像處理中的"共軛複數轉換"後的結果,而導致影像反轉....你可以在for loop後加上陣列轉置的vi來試試看能否解決你的問題!!<?:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

另外我想請問你將二維陣列的影像資料輸入for loop後,雖然變成1d陣列,但是你怎

 

麼知道資料所排列的形式呢??且你將for loop的執行次數設定為600,難道你已知道影像的陣列最多就是600個element嗎??這點是我較不明白的地方....事實上對於for loop來說,若您輸入的資料為陣列的形式時,應該不需要再指定回圈執行的次數吧!!

 

關於你的目的,我做了一個小範例,希望對你有幫助!!

 

Sincerely

![](upload://lRhweLstKDPHu01RmiUoMmxdfqS.jpeg)

 

程式:(LabVIEW 7.0)

2004-08-17_214605_freq_proc_example.vi

 

 

首先感謝您的回應

說明:那一張圖的格式為600*588

1. 當一2d矩陣輸入for loop內時 的確會轉1D  而其排列順序在做之前

我有利用 這個模式檢驗過

然後記得 再TOOLS下有一個功能鍵(從RUN數來第五個) 形狀像 燈泡 把它點選下去 就可以看到整個矩陣 在FOR LOOP的流程

且在FRONT PANEL 可以清楚看出矩陣在for loop中

是從0 row 至 N row 依序執行

2.根據上敘知圖片為600*588(cloum*row) 所以再連接時 應該要連

588這個數值才對 我連錯了 但是您說的對

輸入的資料為陣列的形式時,不需要再指定回圈執行的次數

而我原本的構想是 因為已知圖片為600*588 所以讓他跑588次

3.謝謝您提供的方式  您的方式是利用 truncation 小弟有試過

但是絕的效果不夠好 因為它可以調 truncation freuency

調了以後除了可以把頻譜塗上的高頻遮掉 其他低頻的地方也遮掉了

所以會造成 影像模糊的現象

但是假如利用 Butterworth作的話 可以只根據有高頻的地方做遮除

而不影響低頻的地方

 

最後再次的感謝您 所提供的意見 我會在試用您說的

for loop後加上陣列轉置的vi

謝謝 

PS假如 您可以用Butterworth 做出來的話 請不吝指教

謝謝