天天看點

高斯模糊高斯模糊定義高斯模糊的應用

圖像處理的基本知識和學習SIFT的先驗知識,總結一下

溫故而知新,學習的知識整理出來時常翻一下還是好的。下面将從高斯模糊的定義和應用上來說明。

  • 高斯模糊定義
  • 高斯模糊的應用

高斯模糊定義

高斯模糊其實是一個低通濾波器,它的核心在于使用高斯函數作為模糊模闆與輸入圖像做卷積運算,去除圖像的高頻分量,達到模糊圖像的目的(其實就是濾波)。

經過高斯模糊處理的圖檔視覺效果類似于通過透過半透明的螢幕去檢視,高斯模糊在圖像預處理階段用的非常廣泛,就比如在SIFT算法中建構尺度空間中就要用到。

如上,高斯模糊的核心在于高斯函數,下面将貼出高斯函數的具體表達式:

一維:

 G(x)=12πσ2−−−−√e−x22σ2 

二維:

 G(x,y)=12πσ2e−x2+y22σ2 

其中:  x、y  分别是原點到  x  軸或  y  軸之間的距離。 σ  為正态分布的标準差。

當應用于二維時,這個公式生成的曲面的等高線是從中心開始呈正态分布的同心圓。該分布的值用于建構一個應用于原始圖像的卷積矩陣。

每個像素的新值被設定為周圍像素值的權重平均值。原來的像素值具有最高的高斯值,是以具有最大的權重。而相鄰的像素随着與中心距離的增加,則權重越來越小。是以經過高斯模糊處理後更好地保留了邊緣效果。

理論上,圖像上每個點的高斯分布都不為0,也就是說每個像素的計算都需要包含整幅圖像。在實際應用中,在計算高斯函數的離散近似時,超過  3σ  的像素是非常小甚至接近0,這些點可看作不起作用的點。在計算時可以忽略。一般在圖像進行中我們隻需計算  (6σ+1)×(6σ+1)  的像素矩陣就可以確定得到的結果接近高斯分布。

還有最重要一點,我們對同一圖像先後作  σ=σ1  和  σ=σ2  的高斯平滑和直接作  σ=σ21+σ22−−−−−−√  高斯平滑的結果是一樣的(也叫高斯核的半群性質)。

wiki中給出的高斯模糊矩陣如下,其中  σ=0.84089642  ,中心元素具有最大值,随着離中心距離的增加,元素對稱減小。

高斯模糊高斯模糊定義高斯模糊的應用

注意中心元素0.22508352是離中心  3σ  處0.00019117的1177倍,是以前面說  3σ  外的點可以忽略不計。

高斯模糊的應用

在圖像處理上運用的非常多,下面先貼一個具體用例

clear;close;clc;
img1=imread('2.png');
w=fspecial('gaussian',[7 7],0.84089642);
img2=imfilter(img1,w);
w=fspecial('gaussian',[7 7],2);
img3=imfilter(img1,w);
w=fspecial('gaussian',[7 7],10);
img4=imfilter(img1,w);

subplot(2,2,1)
imshow(img1);
subplot(2,2,2)
imshow(img2);
subplot(2,2,3)
imshow(img3);
subplot(2,2,4)
imshow(img4);
           

當 σ=0.84088642  時,上面代碼中的  w  結果就是上面提到的模闆矩陣。模糊結果如下:

高斯模糊高斯模糊定義高斯模糊的應用

可以看到随着  σ  的不斷增大,圖檔越來越模糊。

繼續閱讀