導航:首頁 > 源碼編譯 > 線性平滑濾波演算法

線性平滑濾波演算法

發布時間:2023-07-07 23:05:21

1. 數字信號測量中的平滑演算法怎麼算

其實最簡單的平滑演算法就是對之前的數據求一個平均值,即
y(t) = (y(t-n)+y(t-n+1)+...+y(t))/(n+1)
其實,這么做的理由很簡單,這相當於是一個n+1階的FIR濾波器,然後每個系數都是1/(n+1)。
說白了,就是一個低通濾波器,因此可以起到抑制毛刺等高頻信號的結果。
其實,我個人認為,如果你好好設計一個FIR濾波器,然後按照那個系數來進行調整,比這種方法去掉毛刺的效果好得多,你可以利用matlab的工具fdatool,有不懂可以繼續追問。

2. 均值濾波

一. 均值濾波簡介和原理

     晌扒   均值濾波,是圖像處理中常用的手段,從頻率域觀點來看均值濾波是一種低通濾波器,高頻信號將會去掉。均值濾波可以幫助消除圖像尖銳雜訊,實現圖像平滑,模糊等功能。理想的均值濾波是用每個像素和它周圍像素計算出來歲蠢的平均值替換圖像中每個像素。

        以3*3均值濾波器為例,均值濾波器演算法宴雀昌原理如下圖:

二. 用均值濾波器對椒鹽雜訊污染後的圖像去噪

        python 源碼

import cv2

import numpy as np

# mean filter

def mean_filter(img, K_size=3):

    H, W, C = img.shape

    # zero padding

    pad = K_size // 2

    out = np.zeros((H + pad * 2, W + pad * 2, C), dtype=np.float)

    out[pad: pad + H, pad: pad + W] = img.().astype(np.float)

    tmp = out.()

    # filtering

    for y in range(H):

        for x in range(W):

            for c in range(C):

                out[pad + y, pad + x, c] = np.mean(tmp[y: y + K_size, x: x + K_size, c])

    out = out[pad: pad + H, pad: pad + W].astype(np.uint8)

    return out

# Read image

img = cv2.imread("../paojie_sp1.jpg")

# Mean Filter

out = mean_filter(img, K_size=5)

# Save result

cv2.imwrite("out.jpg", out)

cv2.imshow("result", out)

cv2.waitKey(0)

cv2.destroyAllWindows()

三. 實驗結果:

        可以看到,均值濾波後,圖像中雜訊雖然有所減弱,但是圖像變模糊了。因為均值濾波器過濾掉了圖像中的高頻分量,所以圖像的邊緣都變模糊了。(去除一定量椒鹽雜訊,可以考慮使用中值濾波)

四. 參考內容:

        https://www.cnblogs.com/wojianxin/p/12501891.html

3. 濾波增強

濾波是指對頻率特徵的一種篩選技術。影像濾波處理是對影像中某些空間頻率特徵信息增強或抑制。例如增強高頻抑制低頻信息即是突出邊緣、線條、紋理、細節; 增強低頻抑制高頻信息是去掉細節,保留影像中的主幹、粗結構。影像的濾波增強實質就是增強影像的某些空間頻率特徵,來改善目標與其鄰域間像元的對比度關系。

地學工作者往往對遙感影像中的地物邊界、紋理、地面形跡等信息感興趣,因此需要增強遙感影像中的這些信息。影像中的這些信息在空間位置上具有一定的延伸方向、延伸距離、寬度以及反差等特點,這些特點可以用一定的物理模式來描述,例如具有長距離( 數十千米) 、寬線條的形跡呈低頻率特徵; 對於細小的邊界、紋理、斷裂等長度在數百米內的窄線條的形跡呈高頻特徵; 介於兩者之間的呈中頻特徵。因此,根據地學判讀的需要,可以分別增強高頻、中頻和低頻特徵 ( 圖 4-11) 。實現低頻增強的稱為低通濾波 ( 圖4-12,圖 4-13) ; 實現高頻增強的稱為高通濾波 ( 圖 4-14) ; 增強中間頻段的稱為帶通濾波; 此外還可增強影像的某些方向的形跡特徵,稱為定向濾波 ( 圖 4-15) 。例如,山脈之間的距離以數十千米計算,其形跡具有較低的空間頻率,應採用低通濾波,即將具有高頻率和中等頻率形跡的曲線濾去,只通過低頻率的形跡曲線構成圖像,突出表示山脈的形跡; 一般背斜、向斜有著中等的空間頻率,波長以千米計算,採用中通濾波; 而節理、裂隙以及小型地質構造具有較高的頻率,波長以幾十米、幾百米計算,採用高通濾波。

圖 4-11 ENVI 軟體濾波增強處理對話框及運算菜單

圖 4-12 某地 TM1 原始影像

圖 4-13 ENVI 軟體低通濾波處理的影像

圖 4-14 ENVI 軟體高通濾波處理的影像

圖 4-15 315°方向濾波處理的影像

濾波增強技術有空間域濾波和頻率域濾波兩種。空間域濾波是在影像的空間變數內進行局部運算,使用空間二維卷積方法。頻率域濾波使用傅氏分析等方法,通過修改原影像的傅氏變換式實現濾波。這里討論的濾波增強主要解決圖像的平滑和銳化處理問題。地物的邊界及各種線性形跡,通常都表現為一定的空間分布頻率,因此可以通過空間域或頻率域的濾波對它們進行增強。

( 一) 圖像平滑處理

圖像中出現某些亮度變化過大的區域,或出現不該有的亮點 ( 「雜訊」) 時,採用平滑方法可以減小變化,使亮度平緩或去掉不必要 「雜訊」點。它實際上是使圖像中高頻成分消退,即平滑圖像的細節,降低其反差,保存低頻成分,在頻域中稱為低通濾波。圖像平滑處理可通過鄰域平均法實現,即利用圖像點 ( x,y) 及其鄰域若干個像素的灰度平均值來代替點 ( x,y) 的灰度值,結果是對亮度突變的點產生了 「平滑」效果。空間域中的圖像平滑處理多採用模板窗口對原始圖像進行卷積運算,根據卷積運算的方式可分為滑動平均法、中值濾波等方法。

1. 滑動平均法

平滑濾波的輸出圖像中像元 ( x,y) 的 DN 值等於原始圖像中以目標像元 ( x,y) 為中心的模板窗口內像元的平均 DN 值。圖像平滑的效果取決於模板窗口的大小。平滑可抑制雜訊,但也會造成邊緣信息損失而使圖像模糊。

2. 中值濾波

平滑濾波的輸出圖像中像元 ( x,y) 的 DN 值等於原始圖像中以目標像元 ( x,y) 為中心的模板窗口內所有像元的中間 DN 值。中值濾波是一種非線性變換。其優勢在於可在平滑的基礎上較大程度地防止邊緣模糊。

圖像平滑的主要目的是消除圖像中的隨機雜訊、孤立雜訊等影響數據處理與分析的無用數據,以取得便於後續處理與專題信息提取的可靠數據。當然,雜訊的判斷與消除亦依賴於數據處理人員的地學知識與解譯經驗,同時亦取決於數據與認知模式,不能簡單地一概而論。

( 二) 圖像銳化處理

圖像銳化指增強圖像中的高頻信息,以削弱背景、突出光密度突變的高頻成分 ( 線條或邊緣) ,起到增強邊緣和細微構造的作用,有助於隱伏構造的顯示。空間域中的圖像銳化處理多利用原始圖像中目標像元與鄰近區域像元 DN 值之間的變化率來衡量,根據運算的方式可分為微分法、空間域定向濾波等方法。

1. 微分法

對於離散的數字圖像而言,其 DN 值在相鄰像元間的變化率包括 8 個方向 ( 水平、垂直、對角線方向) ,微分法即採用各方向上相鄰像元之間的 DN 值差值來作為方向導數的近似,可分為一次微分法和二次微分法。

一次微分法反映了相鄰像元的亮度變化率,即圖像中如果存在邊緣,如湖泊、河流的邊界,山脈和道路等,則邊緣處有較大的梯度值。對於亮度值較平滑的部分,亮度梯度值較小。因此,找到梯度較大的位置,也就找到邊緣,然後再用不同的梯度計算值代替邊緣處像元的值,也就突出了邊緣,實現了圖像的銳化。通常有羅伯特梯度和索伯爾梯度方法。

拉普拉斯演算法為二次微分法,與一次微分法的區別在於它不檢測均勻的圖像亮度變化,而是檢測變化率的變化率,相當於二階微分,計算出的圖像更加突出亮度值突變的位置。實際中,亦可由原圖像減去拉普拉斯模板運算結果 ( 或其某個倍數) 而得到新的圖像,從而使原圖像作為背景保留下來,同時可加大邊緣特徵的對比度。

2. 空間域定向濾波

空間域定向濾波又稱為圖像的卷積運算,亦即通過一定尺寸的方向模板對圖像進行卷積運算,並以卷積值代替各像元點的灰度值 ( DN 值) 。

方向模板 ( 卷積核) 是一個各元素大小按照一定的規律取值,並因而對於某一方向灰度變化最敏感的數字矩陣。方向模板增強的是元素代數和取值最大的方向 ( 最大響應方向) 上的空間特徵信息。方向模板與圖像的卷積運算是指模板的中心沿圖像像元依次移動,在每一位置上將模板中各個元素值與圖像上對應像元 DN 值相乘後的累加和作為模板中心點對應像元的卷積輸出值。

方向模板分為零模板與非零模板,零模板其所有元素的代數和為零,非零模板中所有元素的代數和不為零 ( 圖 4-16) 。

圖 4-16 方向模板

4. 數字圖像處理clean演算法的MATLAB代碼

圖像去噪是數字圖像處理中的重要環節和步驟。去噪效果的好壞直接影響到後續的圖像處理工作如圖像分割、邊緣檢測等。圖像信號在產生、傳輸過程中都可能會受到雜訊的污染,一般數字圖像系統中的常見雜訊主要有:高斯雜訊(主要由阻性元器件內部產生)、椒鹽雜訊(主要是圖像切割引起的黑圖像上的白點雜訊或光電轉換過程中產生的泊松雜訊)等; 
目前比較經典的圖像去噪演算法主要有以下三種: 
均值濾波演算法:也稱線性濾波,主要思想為鄰域平均法,即用幾個像素灰度的平均值來代替每個像素的灰度。有效抑制加性雜訊,但容易引起圖像模糊,可以對其進行改進,主要避開對景物邊緣的平滑處理。 
中值濾波:基於排序統計理論的一種能有效抑制雜訊的非線性平滑濾波信號處理技術。中值濾波的特點即是首先確定一個以某個像素為中心點的鄰域,一般為方形鄰域,也可以為圓形、十字形等等,然後將鄰域中各像素的灰度值排序,取其中間值作為中心像素灰度的新值,這里領域被稱為窗口,當窗口移動時,利用中值濾波可以對圖像進行平滑處理。其演算法簡單,時間復雜度低,但其對點、線和尖頂多的圖像不宜採用中值濾波。很容易自適應化。 Wiener維納濾波:使原始圖像和其恢復圖像之間的均方誤差最小的復原方法,是一種自適應濾波器,根據局部方差來調整濾波器效果。對於去除高斯雜訊效果明顯。 
實驗一:均值濾波對高斯雜訊的效果 
I=imread('C:\Documents and Settings\Administrator\桌面\1.gif');%讀取圖像

5. 圖像平滑處理的原理

這個可以使用均值濾波處理,它也叫圖像的平滑。均值濾波是典型的線性濾波演算法,它是指在圖像上對目標像素給一個模板,該模板包括了其周圍的臨近像素(以目標象素為中心的周圍8個象素,構成一個濾波模板,即去掉目標象素本身)。再用模板中的全體像素的平均值來代替原來像素值。

6. 說明算術平均濾波,加權平均濾波和滑動平均濾波之間的區別以及各自的用途

clear clc x=randn(1,100); %x為要濾波的信號 m=5;%表示平滑濾波窗長度,這是長度為奇數的情況 %前m/2,最後m/2個點沒濾波,設為原來的值就行 for i=1:length(x)-m+1 y(i+(m-1)/2)=sum(x(i:i+m-1))/m; end figure(1); plot(x,'r');hold on;plot(y,'g');hold off; 這是最簡單的,不知道你需要基於什麼演算法的平滑濾波!有重心法的,算術滑動平均的,變參數雙指數平滑方法,還有用插值的方式去平滑的

閱讀全文

與線性平滑濾波演算法相關的資料

熱點內容
程序員的甜品製作方法 瀏覽:200
找幾本關於程序員職場的小說 瀏覽:356
拼多多app這是怎麼回事 瀏覽:811
程序員那麼可愛小說作者 瀏覽:204
pdf文件打不開怎麼辦 瀏覽:607
數字化校園系統源碼 瀏覽:194
androidxml虛線 瀏覽:861
小學生催眠按摩解壓視頻 瀏覽:417
報修管理系統源碼 瀏覽:76
java列印調用棧 瀏覽:792
網頁加密視頻怎麼下載 瀏覽:555
程序員上班了可以學什麼有用 瀏覽:564
程序員的謀生手段 瀏覽:431
泉州電視台直播源碼 瀏覽:682
路徑規劃演算法比較 瀏覽:87
墨刀開發APP如何設置背景圖片 瀏覽:139
軟體設計師教程pdf 瀏覽:727
python數據同時給多個線程 瀏覽:152
php內核源碼入口 瀏覽:911
java內存圖片 瀏覽:227