卷積,相關,中值濾波

2021-09-05 09:06:35 字數 1638 閱讀 5850

什麼是卷積?什麼是相關?什麼是中值濾波?

看下例子吧。

有如下輸入

模板為

這怎樣計算卷積呢?

首先將模板旋轉180度如下:

然後將上圖這個3*3的矩陣與輸入的矩陣的左上角

對齊,然後對應元素相乘再相加,如下:

得1然後將模板,向右移動乙個單位與

對齊,然後對應元素相乘再相加,如下:

得2;然後將模板,再向右移動乙個單位與

再對應元素相乘再相加得:

模板到頭了,將模板放到下一行的最左邊與

對齊,再計算得:4

如此往復得到卷積後的結果:

輸出的與輸入的階數不同,那輸出階數怎麼計算呢?

w為輸入階數,f為模板階數,p為補0的層數(後面會講到,不要急),s為移動的步長,那麼輸出的階數為:

上例子為,輸入為5*5的矩陣,階數為5,模板為

3*3的矩陣,階數為3,補0層數為0,s為1,那麼輸出為(5-3+0*2)/1 + 1 = 3

是3*3的矩陣。

為了輸出與輸入的階數相同,通常會在卷積前做padding(看題目要求);

在輸入矩陣上下左右均補0,

f為輸入的卷積核的階數

補0的層數為

那麼此時的補0層數為(3-1)/2 = 1層

得到:先把上下左右添上一層0,再把空出來的角添上0.

然後再做卷積

得到此時的輸出階數,自己用這個公式算吧

(5-3+1*2)/1 + 1 =5

那麼移動步數是什麼呢?

看圖吧:

如果輸入為5*5矩陣,模板為3*3,不做padding

步長為1,怎麼移動呢?

步長為2的自己畫圖就可以了。

那麼相關怎麼算呢?

就不用旋轉180度就可以了。

中值濾波怎麼算呢?

看下面的鏈結就可以了。

中值濾波測試

小白又來記個筆記 當資料讀取之後 就開始對資料進行預處理 預處理中比較重要的乙個部分就是濾波 因為實際工況下得到的訊號肯定是混有雜訊的 從簡單的開始說起 比較簡單的濾波操作是中值濾波 中值濾波對緩慢變化的訊號中由於偶然因素引起的脈衝干擾有良好的濾波效果 這裡我用了師兄給我的實驗室測得訊號 沒有雜訊 ...

中值濾波(matlab)

中值濾波 是一種非線性數字濾波器技術,用於降噪。理解 去乙個模板,可為3 3,5 5,n n 每次從影象中取出模板大小的矩陣,將所有元素排序,取中間值放入木板的中心位置,再還原到原圖中,以此類推掃瞄整個影象。可先對影象進行填充,填充函式 b padarray a,padsize,padval,dir...

Python OpenCV中值濾波

import cv2 as cv import numpy as np def rgb2gray img h img.shape 0 w img.shape 1 img1 np.zeros h,w np.uint8 for i in range h for j in range w img1 i,j...