*今天師弟來問我,CV的書裏到處都是卷積,濾波,平滑……這些概念到底是什麼意思,有什麼區別和聯繫,瞬間暈菜了,學了這麼久CV,卷積,濾波,平滑……這些概念每天都念叨好幾遍,可是心裏也就只明白個大概的意思,趕緊google之~ 發現自己以前瞭解的真的很不全面,在此做一些總結,以後對這種基本概念要深刻學習了~*/
1.圖像卷積(模板)
(1).使用模板處理圖像相關概念:
模板:矩陣方塊,其數學含義是一種卷積運算。
卷積運算:可看作是加權求和的過程,使用到的圖像區域中的每個像素分別於卷積核(權矩陣)的每個元素對應相 乘,所有乘積之和作爲區域中心像素的新值。
卷積核:卷積時使用到的權用一個矩陣表示,該矩陣是一個權矩陣。
卷積示例:
3 * 3 的像素區域R與卷積核G的卷積運算:
R5(中心像素)=R1G1 + R2G2 + R3G3 + R4G4 + R5G5 + R6G6 + R7G7 + R8G8 + R9G9
(2).使用模板處理圖像的問題(越界問題):
邊界問題:當處理圖像邊界像素時,卷積核與圖像使用區域不能匹配,卷積核的中心與邊界像素點對應,卷積運算將出現問題。
處理辦法:
A. 忽略邊界像素,即處理後的圖像將丟掉這些像素。
B. 保留原邊界像素,即copy邊界像素到處理後的圖像。
(3).常用模板:
我們來看一下一維卷積的概念.
連續空間的卷積定義: f(x)與g(x)的卷積是 f(t-x)g(x) 在t從負無窮到正無窮的積分值. t-x要在f(x)定義域內,所以看上去很大的積分實際上還是在一定範圍的. 實際的過程就是f(x)
先做一個Y軸的反轉,然後再沿X軸平移t就是f(t-x),然後再把g(x)拿來,兩者乘積的值再積分.想象一下如果g(x)或者f(x)是個單位的階越函數. 那麼就是f(t-x)與g(x)相交部分的面積.這就是卷積了.
把積分符號換成求和就是離散空間的卷積定義了.那麼在圖像中卷積卷積地是什麼意思呢,就是圖像就是圖像f(x),模板是g(x),然後將模版g(x)在模版中移動,每到一個位置,就把f(x)與g(x)的定義域相交的元素卷積定義上是線性系統分析經常用到的.線性系統就是一個系統的輸入和輸出的關係是線性關係.就是說整個系統可以分解成N多的無關獨立變化,整個系統就是這些變化的累加. 如
x1->y1, x2->y2; 那麼A*x1 + B*x2 -> A*y1 + B*y2 這就是線性系統. 表示一個線性系統可以用積分的形式
就是f(t,x)表示的是A B之類的線性係數.看上去很像卷積呀,對,如果f(t,x) = F(t-x) 不就是了嗎.從f(t,x)變成F(t-x)實際上是說明f(t,x)是個線性移不變,就是說變量的差不變化的時候, 那麼函數的值不變化. 實際上說明一個事情就是說線性移不變系統的輸出可以通過輸入和表示系統線性特徵的函數卷積得到.
2.圖像濾波
<2>非線性濾波:非線性濾波器的原始數據與濾波結果是一種邏輯關係,即用邏輯運算實現,如最大值濾波器、最小值濾波器、中值濾波器等,是通過比較一定鄰域內的灰度值大小來實現的,沒有固定的模板,因而也就沒有特定的轉移函數(因爲沒有模板作傅里葉變換),另外,膨脹和腐蝕也是通過最大值、最小值濾波器實現的。五種常見的非線性濾波算子,這五種濾波算子對不同的圖像都會有不同的作用,最常用的是中值濾波,因爲它的效果最好且信息損失的最少。
(1).極大值濾波
極大值濾波就是選取像素點領域的最大值作爲改點的像素值,有效率去了灰度值比較低的噪聲,也可作爲形態學裏面的膨脹操作。
極大值濾波可以表示爲: Maximum(A)=max[A(x+i,y+j)] (x,y)屬於M
注:(x+i,y+j)是定義在圖像上的座標,(i,j)是定義在模板M上的座標。M即爲運算的模板。
(2).極小值濾波(與極大值濾波相反)
(3).中點濾波
中點濾波常用於去除圖像中的短尾噪聲,例如高斯噪聲和均勻分佈噪聲。終點濾波器的輸出時給定窗口內灰度的極大值和極小值的平均值;
Midpoint(A)=(max[A(x+i,y+j)]+min[A(x+i,y+j)])/2 (x,y)屬於M
注:(x+i,y+j)是定義在圖像上的座標,(i,j)是定義在模板M上的座標。M即爲運算的模板。
(4).中值濾波
中值濾波可以消除圖像中的長尾噪聲,例如負指數噪聲和椒鹽噪聲。在消除噪聲時,中值濾波對圖像噪聲的模糊極小(受模板大小的影響),中值濾波實質上是用模板內所包括像素灰度的中值來取代模板中心像素的灰度。中值濾波在消除圖像內椒鹽噪聲和保持圖像的空域細節方面,其性能優於均值濾波。
Median(A)=Median[A(x+i,y+j)] (x,y)屬於M
注:(x+i,y+j)是定義在圖像上的座標,(i,j)是定義在模板M上的座標。M即爲運算的模板。
(5).加權中值濾波(中值濾波的改進)
加權中值濾波是在中值濾波的基礎上加以改進,其性能在一定程度上優於中值濾波。
下面是自己在算法上的改進:以例子說明
若說選模板的大小爲5,那麼這個模板就唯一確定爲:
1 1 5 1 1
1 1 5 1 1
5 5 5 5 5
1 1 5 1 1
1 1 5 1 1
上圖中的數字表式改點像素在序列中出現的次數。然後根據模板平滑圖像。實驗證明該方法好於傳統中值濾波。當然還有其他方法;
附:噪聲
(高斯噪聲:是指噪聲服從高斯分佈,即某個強度的噪聲點個數最多,離這個強度越遠噪聲點個數越少,且這個規律服從高斯分佈。高斯噪聲是一種加性噪聲,即噪聲直接加到原圖像上,因此可以用線性濾波器濾除。
椒鹽噪聲:類似把椒鹽撒在圖像上,因此得名,是一種在圖像上出現很多白點或黑點的噪聲,如電視裏的雪花噪聲等。椒鹽噪聲可以認爲是一種邏輯噪聲,用線性濾波器濾除的結果不好,一般採用中值濾波器濾波可以得到較好的結果。)
關係:
圖像卷積:一種實現手段,不管是濾波還是別的什麼,可以說是數學在圖像處理的一種延伸。
圖像濾波:一種圖像處理方法,來實現不同目的。
圖像平滑:實際上就是低通濾波。