線性濾波可以說是圖像處理最基本的方法,它可以允許我們對(duì)圖像進(jìn)行處理,產(chǎn)生很多不同的效果。做法很簡(jiǎn)單。首先,我們有一個(gè)二維的濾波器矩陣(有個(gè)高大上的名字叫卷積核)和一個(gè)要處理的二維圖像。然后,對(duì)于圖像的每一個(gè)像素點(diǎn),計(jì)算它的鄰域像素和濾波器矩陣的對(duì)應(yīng)元素的乘積,然后加起來,作為該像素位置的值。這樣就完成了濾波過程。
對(duì)圖像和濾波矩陣進(jìn)行逐個(gè)元素相乘再求和的操作就相當(dāng)于將一個(gè)二維的函數(shù)移動(dòng)到另一個(gè)二維函數(shù)的所有位置,這個(gè)操作就叫卷積或者協(xié)相關(guān)。卷積和協(xié)相關(guān)的差別是,卷積需要先對(duì)濾波矩陣進(jìn)行180的翻轉(zhuǎn),但如果矩陣是對(duì)稱的,那么兩者就沒有什么差別了。
Correlation 和 Convolution可以說是圖像處理最基本的操作,但卻非常有用。這兩個(gè)操作有兩個(gè)非常關(guān)鍵的特點(diǎn):它們是線性的,而且具有平移不變性shift-invariant。平移不變性指我們?cè)趫D像的每個(gè)位置都執(zhí)行相同的操作。線性指這個(gè)操作是線性的,也就是我們用每個(gè)像素的鄰域的線性組合來代替這個(gè)像素。這兩個(gè)屬性使得這個(gè)操作非常簡(jiǎn)單,因?yàn)榫€性操作是最簡(jiǎn)單的,然后在所有地方都做同樣的操作就更簡(jiǎn)單了。
實(shí)際上,在信號(hào)處理領(lǐng)域,卷積有廣泛的意義,而且有其嚴(yán)格的數(shù)學(xué)定義,但在這里不關(guān)注這個(gè)。
2D卷積需要4個(gè)嵌套循環(huán)4-double loop,所以它并不快,除非我們使用很小的卷積核。這里一般使用3x3或者5x5。而且,對(duì)于濾波器,也有一定的規(guī)則要求:
1)濾波器的大小應(yīng)該是奇數(shù),這樣它才有一個(gè)中心,例如3x3,5x5或者7x7。有中心了,也有了半徑的稱呼,例如5x5大小的核的半徑就是2。
2)濾波器矩陣所有的元素之和應(yīng)該要等于1,這是為了保證濾波前后圖像的亮度保持不變。當(dāng)然了,這不是硬性要求了。
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ǔ)充方法
上面的圖片說明了圖像的卷積操作,但是他也反映出一個(gè)問題,如上圖,原始圖片尺寸為7*7,卷積核的大小為3*3,當(dāng)卷積核沿著圖片滑動(dòng)后只能滑動(dòng)出一個(gè)5*5的圖片出來,這就造成了卷積后的圖片和卷積前的圖片尺寸不一致,這顯然不是我們想要的結(jié)果,所以為了避免這種情況,需要先對(duì)原始圖片做邊界填充處理。
原始圖像:
填充后的圖像:
常用卷積核及其意義
一個(gè)沒有任何作用的卷積核
卷積核:
將原像素中間像素值乘1,其余全部乘0,顯然像素值不會(huì)發(fā)生任何變化。
平滑均值濾波
卷積核:
該卷積核的作用在于取九個(gè)值的平均值代替中間像素值,所以起到的平滑的效果:。
高斯平滑
卷積核:
高斯平滑水平和垂直方向呈現(xiàn)高斯分布,更突出了中心點(diǎn)在像素平滑后的權(quán)重,相比于均值濾波而言,有著更好的平滑效果。
圖像銳化
卷積核:
該卷積利用的其實(shí)是圖像中的邊緣信息有著比周圍像素更高的對(duì)比度,而經(jīng)過卷積之后進(jìn)一步增強(qiáng)了這種對(duì)比度,從而使圖像顯得棱角分明、畫面清晰,起到銳化圖像的效果。
梯度Prewitt
梯度Prewitt卷積核與Soble卷積核的選定是類似的,都是對(duì)水平邊緣或垂直邊緣有比較好的檢測(cè)效果。
Soble邊緣檢測(cè):
Soble與上述卷積核不同之處在于,Soble更強(qiáng)調(diào)了和邊緣相鄰的像素點(diǎn)對(duì)邊緣的影響。
梯度Laplacian
卷積核:
Laplacian也是一種銳化方法,同時(shí)也可以做邊緣檢測(cè),而且邊緣檢測(cè)的應(yīng)用中并不局限于水平方向或垂直方向,這是Laplacian與soble的區(qū)別。
卷積的計(jì)算
對(duì)圖像處理而言,存在兩大類的方法:空域處理和頻域處理!空域處理是指直接對(duì)原始的像素空間進(jìn)行計(jì)算,頻率處理是指先對(duì)圖像變換到頻域,再做濾波等處理。
空域計(jì)算-直接2D卷積
直接2D卷積就是一開始說的那樣,對(duì)于圖像的每一個(gè)像素點(diǎn),計(jì)算它的鄰域像素和濾波器矩陣的對(duì)應(yīng)元素的乘積,然后加起來,作為該像素位置的值。
直接的實(shí)現(xiàn)也稱為暴力實(shí)現(xiàn)brute force,因?yàn)樗鼑?yán)格按照定義來實(shí)現(xiàn),沒有任何優(yōu)化。當(dāng)然了,在并行實(shí)現(xiàn)里面,它也是比較靈活的。另外,也存在一個(gè)優(yōu)化版本,如果我們的kernel是separable可分的。
頻域計(jì)算-快速傅里葉變換FFT卷積
這個(gè)快速實(shí)現(xiàn)得益于卷積定理:時(shí)域上的卷積等于頻域上的乘積。所以將我們的圖像和濾波器通過算法變換到頻域后,直接將他們相乘,然后再變換回時(shí)域(也就是圖像的空域)就可以了。
o表示矩陣逐元素相乘。那用什么方法將空域的圖像和濾波器變換到頻域了。
-
濾波
+關(guān)注
關(guān)注
10文章
669瀏覽量
56706 -
卷積
+關(guān)注
關(guān)注
0文章
95瀏覽量
18529
原文標(biāo)題:數(shù)字圖像處理中濾波和卷積操作詳細(xì)說明
文章出處:【微信號(hào):Imgtec,微信公眾號(hào):Imagination Tech】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論