基於MATLAB的均值濾波演算法實現

2022-04-05 19:10:29 字數 2773 閱讀 6968

在影象採集和生成中會不可避免的引入雜訊,影象雜訊是指存在於影象資料中的不必要的或多餘的干擾資訊,這對我們對影象資訊的提取造成干擾,所以要進行去雜訊處理,常見的去除雜訊的方法有均值濾波、中值濾波、高斯濾波等,這一篇要實現的是均值濾波。

均值濾波的方法是將影象資料生成3x3的矩陣或是5x5等其他模板,然後對這個矩陣模板進行處理。在影象上對目標畫素給乙個模板,該模板包括了其周圍的臨近畫素(以目標象素為中心的周圍 8 個畫素,構成乙個濾波模板,即去掉目標畫素本身),再用模板中的全體畫素的平均值來代替原來畫素值。說白了就是對這九個數求個平均值代替中間的那個數。在fpga中我們為了簡便運算只將目標畫素周圍八個點求和然後除以8,取代目標畫素點。

g=imnoise(f,'salt & pepper',d)用椒鹽雜訊汙染影象f,其中d是雜訊密度(即包括雜訊值的影象區域的百分比)。因此,大約有d*numel(f)個畫素受到影響。預設的雜訊密度為0.05。

本設計只用到了對椒鹽雜訊的處理,所以僅記錄這一種雜訊的新增。

從處理前後的中可以看到處理過後的變模糊了一些,這是因為均值濾波就是將影象做平滑處理,畫素值高的畫素會被拉低,畫素值低畫素會被拉高,趨向於乙個平均值,所以影象會變模糊一些。

加入椒鹽雜訊後的lena

加入椒鹽雜訊後mean_filter lena

知乎id:ninghechuan

微博id:ninghechuan

基於c 的均值濾波程式編寫

1 均值濾波原理 均值濾波方法是,對待處理的當前畫素,選擇乙個視窗模板,以該視窗為其鄰近的若干個畫素組成,用模板的均值來替代原畫素的值的方法。選取乙個奇數的視窗模板 如3 3 程式設計 void cblur const mat src,mat dst,size wsize 邊緣擴大 int hw w...

均值濾波快速演算法

1 概述 在影象處理中,在進行如邊緣檢測這樣的進一步處理之前,通常需要首先進行一定程度的降噪。中值濾波是一種非線性數字濾波器技術,經常用於去除影象或者其它訊號中的雜訊。這個設計思想就是 檢查輸入訊號中的取樣並判斷它是否代表了訊號,使用奇數個取樣 組成的觀察窗實現這項功能。觀察窗口中的數值進行 排序,...

MATLAB實現中值濾波演算法

m,n size x m表示行數 即高度 n表示列數 即寬度 x imnoise x,salt pepper 0.02 subplot 1,2,1 imshow x title 原圖 x1 double x x2 x1 此處的演算法缺點是未對邊界值做出改變 for i 1 m 3 1 for j 1...