計算機視覺 OpenCV Android | 影象操作之卷積、均值模糊、高斯模糊(待續)
.卷積基本概念
卷積常用於實現影象模糊,這個也是很多初學OpenCV開發者遇到的第一個疑問,為什麼進行卷積操作之後,影象會模糊?在解釋與說明卷積之前,首先假設有時間序列I、行下有三個星號對應的是另外一個短的時間序列,當它從I上面滑過的時候就會通過簡單的算術計算產生一個新的時間序列J,如圖4-1所示。
圖4-1
通常,我們將用來滑動的部分稱為卷積運算元(kernel)或者卷積運算元(operator),而將時間序列I/J稱為輸入/輸出資料。兩個取樣間隔與取樣率必須相同,這個就是訊號學中關於卷積的一個最簡單的定義描述。從數學角度來說,上述示例是一個最簡單的一維離散卷積的例子,它的數學表達如下:
而常見的影象大多數都是二維的平面圖像,所以對影象來說,完成卷積就需要卷積運算元在影象的X方向與Y方向上滑動,下面計算每個滑動覆蓋下的輸出,如圖4-2所示。
圖4-2
其中,圖4-2a稱為卷積核/卷積運算元(F),圖4-2b是F在影象資料(I)上從左向右、從上向下,在XY方向上滑動經過每個畫素點,圖4-2c是完成整個移動之後的輸出。因此二維的影象卷積操作可以表示為: