图像处理中的卷积
本文轉(zhuǎn)載自:https://blog.csdn.net/chaipp0607/article/details/72236892
數(shù)字信號(hào)處理中卷積
卷積一詞最開始出現(xiàn)在信號(hào)與線性系統(tǒng)中,信號(hào)與線性系統(tǒng)中討論的就是信號(hào)經(jīng)過(guò)一個(gè)線性系統(tǒng)以后發(fā)生的變化。由于現(xiàn)實(shí)情況中常常是一個(gè)信號(hào)前一時(shí)刻的輸出影響著這一時(shí)刻的輸出,所在一般利用系統(tǒng)的單位響應(yīng)與系統(tǒng)的輸入求卷積,以求得系統(tǒng)的輸出信號(hào)(當(dāng)然要求這個(gè)系統(tǒng)是線性時(shí)不變的)。
卷積的定義:
卷積是兩個(gè)變量在某范圍內(nèi)相乘后求和的結(jié)果。如果卷積的變量是序列x(n)和h(n),則卷積的結(jié)果:
數(shù)字圖像處理中卷積
數(shù)字圖像是一個(gè)二維的離散信號(hào),對(duì)數(shù)字圖像做卷積操作其實(shí)就是利用卷積核(卷積模板)在圖像上滑動(dòng),將圖像點(diǎn)上的像素灰度值與對(duì)應(yīng)的卷積核上的數(shù)值相乘,然后將所有相乘后的值相加作為卷積核中間像素對(duì)應(yīng)的圖像上像素的灰度值,并最終滑動(dòng)完所有圖像的過(guò)程。
這張圖可以清晰的表征出整個(gè)卷積過(guò)程中一次相乘后相加的結(jié)果:該圖片選用3*3的卷積核,卷積核內(nèi)共有九個(gè)數(shù)值,所以圖片右上角公式中一共有九行,而每一行都是圖像像素值與卷積核上數(shù)值相乘,最終結(jié)果-8代替了原圖像中對(duì)應(yīng)位置處的1。這樣沿著圖片一步長(zhǎng)為1滑動(dòng),每一個(gè)滑動(dòng)后都一次相乘再相加的工作,我們就可以得到最終的輸出結(jié)果。除此之外,卷積核的選擇有一些規(guī)則:
1)卷積核的大小一般是奇數(shù),這樣的話它是按照中間的像素點(diǎn)中心對(duì)稱的,所以卷積核一般都是3x3,5x5或者7x7。有中心了,也有了半徑的稱呼,例如5x5大小的核的半徑就是2。
2)卷積核所有的元素之和一般要等于1,這是為了原始圖像的能量(亮度)守恒。其實(shí)也有卷積核元素相加不為1的情況,下面就會(huì)說(shuō)到。
3)如果濾波器矩陣所有元素之和大于1,那么濾波后的圖像就會(huì)比原圖像更亮,反之,如果小于1,那么得到的圖像就會(huì)變暗。如果和為0,圖像不會(huì)變黑,但也會(huì)非常暗。
4)對(duì)于濾波后的結(jié)構(gòu),可能會(huì)出現(xiàn)負(fù)數(shù)或者大于255的數(shù)值。對(duì)這種情況,我們將他們直接截?cái)嗟?和255之間即可。對(duì)于負(fù)數(shù),也可以取絕對(duì)值。
邊界補(bǔ)充問題
上面的圖片說(shuō)明了圖像的卷積操作,但是他也反映出一個(gè)問題,如上圖,原始圖片尺寸為7*7,卷積核的大小為3*3,當(dāng)卷積核沿著圖片滑動(dòng)后只能滑動(dòng)出一個(gè)5*5的圖片出來(lái),這就造成了卷積后的圖片和卷積前的圖片尺寸不一致,這顯然不是我們想要的結(jié)果,所以為了避免這種情況,需要先對(duì)原始圖片做邊界填充處理。在上面的情況中,我們需要先把原始圖像填充為9*9的尺寸。
常用的區(qū)域填充方法包括:
為了畫圖方便,這里就不用5*5的尺寸了,用3*3定義原始圖像的尺寸,補(bǔ)充為9*9的尺寸,圖片上的顏色只為方便觀看,并沒有任何其他含義。
原始圖像:
補(bǔ)零填充
邊界復(fù)制填充
鏡像填充
塊填充
以上四種邊界補(bǔ)充方法通過(guò)看名字和圖片就能理解了,不在多做解釋。
不同卷積核下卷積意義
我們經(jīng)常能看到的,平滑,模糊,去噪,銳化,邊緣提取等等工作,其實(shí)都可以通過(guò)卷積操作來(lái)完成,下面我們一一舉例說(shuō)明一下:
一個(gè)沒有任何作用的卷積核:
卷積核:
將原像素中間像素值乘1,其余全部乘0,顯然像素值不會(huì)發(fā)生任何變化。
平滑均值濾波:
選擇卷積核:
該卷積核的作用在于取九個(gè)值的平均值代替中間像素值,所以起到的平滑的效果:
高斯平滑:
卷積核:
高斯平滑水平和垂直方向呈現(xiàn)高斯分布,更突出了中心點(diǎn)在像素平滑后的權(quán)重,相比于均值濾波而言,有著更好的平滑效果。
圖像銳化:
卷積核:
該卷積利用的其實(shí)是圖像中的邊緣信息有著比周圍像素更高的對(duì)比度,而經(jīng)過(guò)卷積之后進(jìn)一步增強(qiáng)了這種對(duì)比度,從而使圖像顯得棱角分明、畫面清晰,起到銳化圖像的效果。
除了上述卷積核,邊緣銳化還可以選擇:
梯度Prewitt:
水平梯度卷積核:
垂直梯度卷積核:
梯度Prewitt卷積核與Soble卷積核的選定是類似的,都是對(duì)水平邊緣或垂直邊緣有比較好的檢測(cè)效果。
Soble邊緣檢測(cè):
Soble與上述卷積核不同之處在于,Soble更強(qiáng)調(diào)了和邊緣相鄰的像素點(diǎn)對(duì)邊緣的影響。
水平梯度:
垂直梯度:
以上的水平邊緣與垂直邊緣檢測(cè)問題可以參考:Soble算子水平和垂直方向?qū)?shù)問題
梯度Laplacian:
卷積核:
Laplacian也是一種銳化方法,同時(shí)也可以做邊緣檢測(cè),而且邊緣檢測(cè)的應(yīng)用中并不局限于水平方向或垂直方向,這是Laplacian與soble的區(qū)別。下面這張圖可以很好的表征出二者的區(qū)別:來(lái)源于OpenCV官方文檔
總結(jié)
- 上一篇: 二值图像孔洞填充
- 下一篇: antlr java_ANTLR从接触到