使用Matlab圖像處理(三)——圖像濾波原理

2021-01-14 小白學視覺


既然是去除噪聲,接下來我們就介紹幾種常見的噪聲。


常見噪聲種類?

首先我們介紹最著名的噪聲——高斯噪聲:無論是做什麼的小夥伴,或多或少都會聽說過高斯噪聲。小白不想把複雜的數學公式拿上進行講解,大家可以簡單記成這種噪聲符合正態分布就可以啦,我們用「影響圖像處理最深遠的人」的相片來直觀的展現一下高斯噪聲的樣子。

首先看一下沒有噪聲的的圖片


我們看一下在這張圖片上加了0.08的高斯噪聲的結果:


可以值觀的看出來第二張圖片比第一張圖片要模糊很多。


椒鹽噪聲:這種噪聲就相當於是你抓了一把椒鹽,然後隨意的撒在了圖片上面(每回想到椒鹽噪聲的時候,小白都能想起食堂賣的椒鹽餅,沒錯就是那個種效果)。一樣,我們也來看一下椒鹽噪聲的樣子。


均勻噪聲:根據名字也能比較容易知道這是一種什麼噪聲。沒錯,就是噪聲是均勻分布的。我們也來看一下圖像的樣子。


除了上訴噪聲之外,還有很多例如伽馬噪聲,瑞麗噪聲等等。由於本問主要是講解如何去除噪聲,這裡就不在講述其他噪聲,請感興趣的小夥伴自行百度。


濾波數學原理

小白有個感覺和大家分享一下,影響科研的只有兩門學科:數學和英語。英語決定你在某個領域的廣度;數學覺得你在某個領域的深度。哎呀,說多了,回到正題上來,就是無論怎麼簡化的去講解一個東西,我們都繞不開對數學機理的剖析。不過小白會儘可能的為大家簡化複雜的公式。


小白覺得圖像濾波就是藉助周圍圖像的數據來修正我們想要修正的數據。舉個最簡單的例子,有一組數[1 2 6 4 5],我們發現中間有個數好像比較大,我們發現整個數據好像符合遞增的特點,所以這個數字有可能是3,但是我們又不能不「尊重」這個數本身的大小,所以怎麼辦呢,我們將估計的數和它表現的數求取平均數,也就是取4.5來代替原來的數。當然有可能根據需求採用不同的權重。


而對於灰度圖像來說是一個二維矩陣(彩色圖像可以轉換成灰度圖像),那麼我們不僅需要藉助左右的數據來推斷中間的數據,也需要藉助上下的數據來幫助我們修正我們的數據。所以我們的「加權係數」就變成了一個矩陣。例如我們可以選取對周圍的9個數求取平均值,那麼我們就可以用下面的矩陣來實現

我們用一個例子來掩飾一下我們的濾波操作。假設我們有一個8*8的圖像,我們需要用均值濾波來對其進行處理。比如我們相對圖像的(1,1)元素進行濾波,我們就將均值濾波模板的中間放到(1,1)處,然後把以(1,1)為圓心,1為半徑的像素分別乘以模板中對應位置的係數,求和之後球去個平均數即為(1,1)處濾波後的像素值。

可能小夥伴會問了,用一個3*3的模板去濾波,那(1,:)和(:,1)的像素都會出現越界的情況。為了應對這種情況,可以採用兩種方式:用0在原圖像的周圍填充濾波模板半徑寬度的數據;或者採用最外面一層的灰度值填充。


通過上面的圖片,紅框內所有像素加起來再求取平均數,之後再填充到原來的位置。為了讓小夥伴看的更清晰,我們再向下進行幾步。

我們又向右移動了三個位置。現在小夥伴可以計算一下右面問號處在濾波之後的像素為多少。結果將會在下期給出來哦~


濾波模板

接下來小白為大家介紹一些常見或者有趣的濾波模板。

上面這個模板是一個沒有用的模板,濾波之後還是他自己。

上面這個模板濾波後圖像會整體向左平移一個單位。

上面是著名的Sobel算子,是用來檢測圖像邊緣的濾波模板。


下面小白為大家介紹一種沒有模板的濾波——中值濾波。


中值濾波由Turky在1971年提出,最初用於時間序列分析,後來被用於圖像處理,並在去噪復原中取得了較好的效果。中值濾波器是基於次序統計完成信號恢復的一種典型的非線性濾波器,其基本原理是把圖像或序列中心點位置的值用該域的中值替代,具有運算簡單、速度快、除噪效果好等優點,曾被認為是非線性濾波的代表。


上面的句子比較長,小白覺得可以用一個簡單的例子,或者比較容易懂得話來說明什麼是中值濾波。


在原始數據的周圍選取一定的區域,將這個區域內所有的數都排序,選取排序後中間的一個數來代替原始數據。


接下來小白舉個例子,還是使用上面的圖,如果我們對紅色區域採用中值濾波。為了小夥伴們閱讀方便,我們再次將上面的圖片祭出。

採用中值濾波,首先需要對選中的區域內所有的灰度值進行排序,排序結果為[0 0 0 0 90 90 90 90 90],我們發現排在中間位置的是90,所以採用中值濾波後,該像素點的灰度值仍然為90。當然,這裡面小白要提醒大家,在採用中值濾波的時候一定要使用奇數個像素作為模板,不然中間的數就不會是一個數,是的濾波時候出現問題。


最後小白要為大家帶來高斯濾波


高斯濾波當然和高斯函數有關係,為了不廢話,小白直接給出高斯濾波的公式:

小白是最討厭公式的,相信很多小夥伴也和小白一樣討厭公式,所以直接給出一個5×5,σ=1的一個高斯濾波模板:

通過分析上面的矩陣,我們可以發現高斯濾波的模板的中心位置影響要大於邊緣位置的影響,這也正好是高斯函數正態性的體現。下面小白用一個立體圖來展示一下這個高斯模板。

通過這個立體圖形,可以明顯的看出是一個二維正態分布。


講了幾種濾波的原理和模板,小白將在下一講中為小夥伴們帶來如何使用Matlab來實現這些濾波操作。


謝謝小夥伴們一直以來的支持,感謝小夥伴們持續關注本公眾號,並將本公眾號分享給周圍的朋友。

如果您喜歡本文和本公眾號,

希望您能推送給周圍的好友。

一個贊就是對小白的一種支持

長按上面二維碼關注本公眾號

相關焦點

  • 基於MATLAB圖像處理的中值濾波、均值濾波以及高斯濾波的實現與對比
    基於MATLAB圖像處理的中值濾波、均值濾波以及高斯濾波的實現與對比
  • 【數字圖像處理系列五】圖像濾波之空間濾波:圖像平滑降噪和圖像銳化
    】基本概念:亮度、對比度、飽和度、銳化、解析度【數字圖像處理系列二】圖像增強:線性、 分段線性、 對數、 反對數、 冪律(伽馬)變換、直方圖均衡【數字圖像處理系列三】圖像數據集增強方式總結和實現【數字圖像處理系列四】在圖像增強:線性、 分段線性、 對數、 反對數、 冪律(伽馬)變換、直方圖均衡【數字圖像處理系列三】一文中我們從圖像灰度變換的角度闡述了圖像增強的各種方式,本文我們將一起學習圖像處理中重點的方式:圖像濾波,圖像濾波分為空間域濾波和頻率域濾波,頻率域濾波我們將在下一節重點說明。
  • Matlab數字圖像處理初步
    對雙精度型矩陣,直接使用imshow默認最小值為0,最大值為1。0~255雙精度圖像可標準化圖示如imshow(A/255)彩色圖像處理 彩色圖像的通道分離與圖像存儲 對於RGB格式的彩色圖像矩陣A,B=A(:,:,1)即可提取彩色圖像的紅色通道值,其中B將以二維矩陣的形式存儲表示
  • MATLAB中的圖像變換之線性空間濾波
    凡是使用空間模板進行的圖像處理,我們就定義為空間濾波,模板本身被稱為空間濾波器。圖像的空域線性濾波和非線性濾波在空域對圖像進行濾波處理無非兩種情況:線性濾波和非線性濾波。濾波的意思就是對原圖像的每個像素周圍一定範圍內的像素進行運算,運算的範圍就稱為掩膜或領域。
  • 圖像與濾波
    來自:阮一峰的網絡日誌連結:ruanyifeng.com/blog/2017/12/image-and-wave-filters.html我對圖像處理一直很感興趣前幾天讀到一篇文章,它提到圖像其實是一種波,可以用波的算法處理圖像。我頓時有一種醍醐灌頂的感覺,從沒想到這兩個領域是相關的,圖像還可以這樣玩!下面我就來詳細介紹這篇文章。一、為什麼圖像是波?我們知道,圖像由像素組成。
  • Matlab圖像處理(四)——常用濾波的實現
    2 [height, width]=size(A_salt_pepper);   %輸入圖像是p×q的,且p>n,q>n   3 A_salt_pepper2=zeros(height+n-1,width+n-1); %存放延拓後的圖片 4 for i=1+(n-1)/2:1+(n-1)/2+height-1 5     for j=1+(n
  • opencv-python圖像預處理-濾波
    為了消除外界環境對圖像採集的幹擾,增強圖像的邊緣及灰度跳變的部分,使圖像變得清晰以及提高圖像處理速度需要對圖像進行預處理操作,主要是對圖像進行濾波和增強操作。使用的方法可以分為空間域處理和頻率域處理兩類。空間域指圖像平面本身,這類圖像處理方法用各種模板直接與圖像進行卷積運算,實現對圖像的處理。
  • Matlab圖像增強與復原技術在SEM圖像中的應用
    在頻域中實現對圖像的濾波過程如下:  (1)對原始輸入圖像進行傅立葉變換,得到頻譜函數F(u,v);  (2)利用傳遞函數H(u,v)對圖像的頻譜函數F(u,v)進行處理,得到輸出G(u,v);  (3)G(u,v)再經過傅立葉反變換,得到所希望的圖像。
  • 使用Python+OpenCV進行圖像處理(二)
    整個視覺入門系列內容如下:理解顏色模型與在圖像上繪製圖形(圖像處理基本操作)。基本的圖像處理與濾波技術。從特徵檢測到人臉檢測。圖像分割與分水嶺(Watershed)算法(TBU)在邊緣和輪廓檢測中,噪聲對檢測的精度有很大的影響。
  • 融合拼接如何使用?matlab圖像拼接方法
    matlab圖像拼接的四種方法1、直接拼接,2、亮度調整後拼接,3、按距離比例融合,4、亮度調整後按距離比例融合流程:1。讀入左,右圖,並取出重合部分,並轉化為亮度圖2。
  • 【乾貨】遙感圖像處理之空間域增強&卷積濾波&形態學濾波
    空間域增強處理是通過直接改變圖像中的單個像元及相鄰像元的灰度值來增強圖像。
  • MATLAB圖像處理之圖像增強(二)
    這裡主要討論實際應用中經常使用的對數變換。對數變換常用來擴展低值灰度,壓縮高值灰度,這樣可以使低值灰度的圖像細節更容易看清,從而達到圖像增強的效果。>程序代碼如下:J=imread('c.jpg');I=rgb2gray(J);imshow(I);figure,imhist(I)效果圖上面的處理想必大家都已經爛熟於心了,我們重點來看怎樣通過直方圖進行灰度變換。
  • 圖像噪聲處理系統設計開題報告_圖像噪聲處理實驗報告 - CSDN
    以下是幾類常用的圖像處理技術:1、圖像去噪 圖像去噪指的是利用各種濾波模型,通過多點平滑等方法從已知的含有噪聲的圖像中去掉噪聲成分。圖像去噪從整個圖像分析的流程上來講屬於圖像的預處理階段,從數字圖像處理的技術角度來說屬於圖像恢復的技術範疇,它的存在有著非常要的意義。
  • 圖像處理 淺談圖像金字塔
    圖像金子塔,是一種經典的圖像多尺度描述方法。它將降採樣和平滑濾波結合在一起,對圖像進行多尺度表示。
  • 基於MATLAB的中值濾波算法實現
    ,能有效平滑噪聲,且能有效保護圖像的邊緣信息,所以被廣泛用於數字圖像處理的邊緣提取,其基本原理是把數字圖像或數字序列中的一點的值用該點鄰域內所有的點排序後的中值來代替。中值濾波方法是,對待處理的當前像素,選擇一個模板3x3、5x5或其他,這裡選擇3x3矩陣,該模板為其鄰近的若干個像素組成,對模板的像素由小到大進行排序,再用模板的中值來替代原像素的值的方法。排序算法示意圖當我們使用3x3窗口後獲取領域中的9個像素,就需要對9個像素值進行排序,為了提高排序效率,排序算法思想如圖所示。
  • 圖像各向異性濾波
    對圖像來說各向異性就是在每個像素點周圍四個方向上梯度變化都不一樣,濾波的時候我們要考慮圖像的各向異性對圖像的影響,而各向同性顯然是說各個方向的值都一致,常見的圖像均值或者高斯均值濾波可以看成是各向同性濾波。
  • 基於matlab圖像識別的基本操作方法(以番茄識別為例)
    番茄圖像的前期處理效果決定了番茄的識別效果,所以番茄圖像的前期處理是非常關鍵的步驟。本章將會從番茄圖像採集分類、空間濾波、彩色模型的選擇、番茄圖像分割和形態學處理方法對其進行介紹。4.1.1番茄圖像空間濾波由於拍攝的番茄圖像中往往會存在噪聲,數字番茄圖像就不能反映真實的場景。
  • MATLAB圖像的幾何運算
    如圖8-9所示,設(x0,y0)為原圖像上的一點,圖像水平平移量為tx,垂直平移量為ty,則平移後點(x0,y0)坐標將變成(x1,y1)。在MATLAB中,可以使用函數translate來實現圖像的平移。其調用語法為:SE2 = translate(SE,V)。其中,SE為一個模板,使用函數strel來創建,V是一個向量,用來指定平移的方向。
  • 使用 matlab 進行傅立葉分析和濾波
    濾波利用快速傅立葉簡單濾波下例是將振幅為1的5Hz正弦波和振幅為0.5的10Hz正弦波相加之後,濾除8Hz以上的信號。H是模擬濾波器的傳遞函數,a1表示待濾波信號,t是信號的橫坐標,s1是濾波後的信號。其他說明:這裡僅以低通濾波器為例,其他巴特沃斯濾波器如高通、帶通、帶阻調用方式類似,只是函數butter的參數略有不同,請參看matlab關於butter函數的介紹。
  • 明景模糊圖像處理系統功能
    明景模糊視頻圖像處理系統主要用於公安偵查過程中對涉案監控視頻中提取的模糊圖片進行清晰化處理,解決視頻圖像線索「看不清」的難題。針對視頻偵查實戰需求,提供圖像降噪、低照度增強、去模糊、超解析度等多種視頻圖像增強處理算法,增強視頻圖像畫面關鍵細節,恢復視頻圖像中有價值的信息。