回覆列表
  • 1 # 可口可樂可翊涵

    matlab是進行數值分析的一個重要的工具。今天講一下matlab對一維訊號進行中值濾波的使用方法。所謂的濾波,簡單意義上來說,就是對原訊號進行處理,透過一系列的變換得到另一個訊號。好比A為一組輸入訊號,經過中值濾波,產生訊號B。而中值濾波就是其中的變換。類似的濾波還有高斯平滑濾波,均值濾波等。

    1中值濾波的原理:對於一串連續輸入的訊號(量化後是一組資料)。如下圖所示,是輸入的原訊號。中值濾波的原理為,重新計算每一個x的輸出值(y),新的輸出值。相當於 y = new(x),new的操作是,從在以x為中心,長度為2k的原訊號中(區間為[k+1,x+k]),提取出這段區間內中間的那個值,作為 y=new(x)的結果。

    2 舉例來說,輸入:Y[1-10]:1,2,3,4,5,6,7,8,9,10. 取區間2k = 4,所以k=2;執行中值濾波 K=中值濾波(Y)由x-k+1>=1,所以當k=2時,x>=2濾波時:K[1]=Y[1]K[2]=(Y[1]、Y[2]、Y[3]、Y[4])的中間值,即為2或3

    3 matlab的中值濾波實現方式:呼叫函式:A = medfilt1(B,n)B為輸入訊號,A為濾波後的訊號,即結果。n為控制濾波區間的引數。具體定義如下:1、若n為基數,區間為[k-(n-1)/2,k+(n-1)/2],2、若n為偶數,區間為[k-n/2,k+n/2+1],中值濾波表示用這個區間內的中間值代替這一點的值。

    4 對於輸入訊號(最開頭的圖),以下分別為設定區間n=8和n=16得到的濾波影象。中值濾波可以過濾尖峰脈衝。目的在於我們對於濾波後的資料更感興趣。濾波後的資料保留的原影象的變化趨勢,同時去除了尖峰脈衝對分析造成的影響。

  • 2 # ccc99992512

    1、閱讀圖片,以pout.tif為例,加上鹽和胡椒噪音。

    2、分別建立3×3高斯濾波器模板和平均濾波器模板,並對經過噪聲新增的影象進行濾波。顯示原始影象,噪聲影象和由高斯和平均模板過濾的影象。

    3、圖片結果如圖所示。可以看出,平均模板濾波後的噪聲非常明顯。高斯模板濾波的噪聲影響相對較小。

    4、之後我們選擇輸入程式碼進行過濾,並顯示處理後的影象。

    5、中值濾波影象基本上不顯示噪聲的影響。效果如下。

  • 中秋節和大豐收的關聯?
  • 養狗怎樣避免種種是非問題?