非線性濾波 中值濾波 雙邊濾波

2021-10-03 16:22:07 字數 926 閱讀 1903

線性濾波是兩個訊號之和的響應等於它們響應的和,也就是每個畫素的輸出值是由其周邊的畫素加權得到的。所以當雜訊的分布不符合高斯分布或者某種線性分布時,而是散粒雜訊時,使用線性濾波只能使雜訊變得柔和或者模糊,不能真正的消除雜訊,這時候就需要非雜訊濾波來處理。

取待處理畫素及其鄰域畫素的灰度值按大小的順序排列,取其中值代替原畫素的灰度值。

優點:不依賴於鄰域內與典型值差別很大的值,對於消除孤立的雜訊點很有用。因此可以用來去除脈衝雜訊(也稱椒鹽雜訊,它是一種隨機出現的白點或者黑點,可能是亮的區域有黑色畫素或是在暗的區域有白色畫素(或是兩者皆有)。鹽和胡椒雜訊的成因可能是影像訊號受到突如其來的強烈干擾而產生、模擬數字轉換器或位元傳輸錯誤等)、斑點雜訊、掃瞄雜訊很有用。在一定條件下也可避免線性濾波器帶來的細節模糊,可以保護邊緣資訊。

缺點:由於要將灰度值進行排列,因此中值濾波所耗費的時間是線性濾波的5倍以上。但是對一些細節特別多(特別細、尖)的影象不太合適。

問題:在處理影象的邊緣時,邊緣屬於影象的高頻部分,在它的鄰域內灰度值變化很大,使用中值濾波不應該會將邊緣的灰度值也去除掉嗎,為什麼還要說它很好的保留邊緣?

我覺得是和影象的解析度有關,在影象的解析度較低的情況下,在處理影象邊緣的時候,高頻部分是多於低頻部分的,所以就剔除了低頻部分的影響,當解析度特別的高時,中值濾波就退化到和均值濾波一樣的效果,邊緣會變得模糊。

老師給出的答案是,中值是指是在一組資料中居於中間的數 (特別注意的地方是:這組資料之前已經經過公升序排列!!!)。 高頻與高頻在一起了,低頻與低頻在一起了,這樣邊緣是高頻,中值也是高頻。如果是用取平均值的話高頻可能會被低頻所削弱,所以中值濾波能保留影象的邊緣資訊。

當然這也與鄰域大小的選取有關,鄰域過大就無法保證會保留細節過著邊緣,而鄰域過小可能不會有效的消除雜訊。

opencv非線性濾波 中值 雙邊濾波

中值濾波的核心係數全是1,通過對模板係數對應的影象畫素進行統計排序,找到中值,能夠很好地排除掉較大或較小的雜訊,例如椒鹽雜訊 形象的說就是在影象中的一些黑 白點 脈衝雜訊等。缺點 統計排序時間較長 void medianblur inputarray src,outputarray dst,int ...

C C OpenCV中值濾波 雙邊濾波

中值濾波 void medianblur inputarray src,outputarray dst,int ksize 只能3,5,7,9後的奇數 如下 include include include using namespace cv int main 執行結果 雙邊濾波bilateralf...

線性濾波 非線性濾波區別

數字影象處理線性濾波 輸出影象fo x,y t fi x,y t是線性運算元,即 輸出影象上每個畫素點的值都是由輸入影象各畫素點值加權求和的結果。非線性濾波的運算元中包含了取絕對值 置零等非線性運算。線性濾波器的原始資料與濾波結果是一種算術運算,即用加減乘除等運算實現,如均值濾波器 模板內畫素灰度值...