什麼是圖像卷積

本文章內容

  • 1 連續時間信號的卷積
  • 2 離散時間信號的卷積
  • 3 圖像卷積是什麼
  • 4 圖像卷積的一些應用
  • 5.圖像卷積與卷積核,濾波的關係

文章由我們熟悉的一維連續時間信號的卷積逐漸過渡到圖像卷積。文章是循序漸進的,希望想要了解的朋友們可以耐心讀一讀。本人理解有限,如有錯誤還請指出

(1)先看連續時間信號的卷積:
在這裏插入圖片描述
可以看到對與連續時間信號而言,卷積是一種特殊的積分運算,它的過程就是一個函數固定不動,另一個函數先以y軸爲對稱軸反轉,然後不斷執行相乘,積分,滑動。

(2.)當我們把連續時間信號離散化後,卷積的定義便成爲了:
在這裏插入圖片描述
其中x(n)和h(n)是參與運算的離散時間信號。在這個定義中,卷積的過程尤爲清晰:
在座標軸上讓x(n)保持不動,先把h(n)反轉,然後不斷執行二者重合部分相乘求和然後讓h(n)滑動的過程
離散時間信號可以看作是一串序列,它是一維的,如果我們把它擴充爲二維序列,那不就是圖像了嗎?圖像的本質就是灰度值的二維序列。
(3.)下面我們來看什麼是圖像的卷積:
在這裏插入圖片描述
在這幅圖中,source pixel 是我們的圖像,它本質是灰度的二維序列,圖中的convolution kernel是什麼呢?這個我們稱它爲卷積核,這個卷積核就相當於是一維離散信號卷積中的一個參與卷積的信號,圖像本身就相當於是一維離散信號卷積中的另一個離散序列信號,圖像卷積的過程與一維的情況十分類似:圖像卷積就是卷積核在圖像上按行滑動遍歷像素時不斷的相乘求和的過程。舉個例子:如圖中所示,目前卷積核滑動到了圖像左上角,我們把圖像上的9個值與卷積核的9個數值按照對應位置相乘再相加得到一個和,這個和就是我們得到的卷積值。然後把卷積核向右移動一個像素,再執行對應位置相乘再相加的過程得到第二個卷積值,當把所有像素遍歷完成之後我們得到的結果就構成了一幅圖像。這就是卷積得到的圖像。
(4.)在圖像處理中,我們不會爲了卷積而去卷積,爲什麼呢?按照卷積的定義,它是與卷積核相乘求和的結果,如果圖像本身像素的數據類型是8位無符號數,那麼它的灰度範圍就是0(黑色)到255(白色),這樣以來相乘後的值很容易大於255,那麼怎麼辦呢?一般就是截斷爲255。從我這幾行的描述可以看到,單單卷積確實沒什麼用,因爲圖像卷積的用武之處不在於此。
(5.)圖像卷積常常用於圖像濾波(平滑化),圖像梯度,開運算,閉運算,黑帽運算,頂帽運算等形態處理,以及基於梯度運算的邊緣提取中。

比如均值濾波的卷積核是這樣的:
在這裏插入圖片描述
它也是按照卷積運算的過程相乘求和再滑動,只不過它的核裏每個值都是1,在求和之後還除以核的大小來取平均。

比如高斯濾波是這樣的:
在這裏插入圖片描述
高斯濾波的時候它的核是離中心越近值越大,也就是不同位置的權重不同。在相乘求和之後會除以核內數值的求和值以保證灰度值不會超出範圍

看到這裏大家應該會有疑惑,不是正在說卷積嗎,怎麼就開始扯濾波了?情況是這樣的:什麼是濾波?它的本質就是卷積,是按照一定的特殊規則去卷積,此時使用的卷積核不是隨意的,而是有既定的規矩的,比如卷積核應取3x3,5x5這樣的具有中心的核,而且核內數值的分佈也是有規定的,視不同的濾波方式而定。

講了這麼多我還沒有說什麼是卷積核,卷積核就是一種求和的規則,是一種映射的規則。原圖像像素點的值與對應位置上的卷積核的值相乘然後按權重相加處理,這個過程用數學去表示不就是src(原圖像) x kernel(映射規則)=result(卷積的結果) 嗎?所以卷積核就是一種運算的規則,由卷積核規則的不同衍生出了不同的濾波方式,不同的梯度運算方式等。

講到這裏我還想再說一說濾波,爲什麼卷積一下就濾波了呢?我舉個例子:就比如上文寫到的均值濾波,它的映射規則(就是卷積核)不就是全部都是1除以核大小嗎?也就是說原圖像與這樣的卷積核卷積的結果就是原圖像的像素值乘以卷積覈對應位置的值相加,很巧合的是核內的值都是1/25(這是對於5x5大小的核來說的),那這樣看很顯然,卷積的結果就是把原圖像像素值相加取平均值。這樣一來像素與像素之間的差異性就變小了,圖像中分明的線條和邊界就是像素值迥然的差異所導致的,差異性減小導致邊界就模糊了,圖像自然就變得平滑了。說到這裏還是沒說濾波這個概念,我們在數字信號處理中接觸的諸如高通濾波就是爲了濾除高頻信號(分佈在π附近的信號),在圖像濾波中也是如此。我剛纔說濾波後像素與像素之間的差異性減小了,這不就意味着濾除了高頻成分嗎?高頻信號的定義就是變化很快的信號,在圖像中,如果兩個像素差異很大就意味着移動一個像素的距離帶來的變化就是巨大的,而當這巨大的變化連接起來就是圖像中的圖形的邊界或線條,這樣就是爲什麼線條被稱之爲高頻信號。

我想看到這裏大家應該就理解了爲什麼卷積一下就能濾波了吧,卷積的一種應用形式就是濾波,當然不同的卷積核有不同的卷積效果,所以卷積還有諸如梯度運算等其他的應用形式,差別就在於卷積核的不同

總結起來就是:圖像卷積靠卷積核完成,卷積核規定了運算的規則,濾波是卷積運算所帶來的效果。不同的卷積核所得到的卷積效果不同,故衍生出了不同種類的濾波,形態運算,梯度運算等等概念。由此可見:卷積是圖像處理的基礎,許許多多處理方式都是離不開卷積的

如果對梯度運算感興趣請移步下面這篇博客:
https://blog.csdn.net/naruhina/article/details/104710805

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章