我一直都在這里分享計(jì)算機(jī)基礎(chǔ)知識(shí),比如計(jì)算機(jī)組成原理、數(shù)據(jù)結(jié)構(gòu)與算法、計(jì)算機(jī)網(wǎng)絡(luò)和操作系統(tǒng)等。
不過偶爾我也想寫一下其他的話題,今天就想和你聊聊圖像處理的相關(guān)知識(shí),因?yàn)楣ぷ髦袝?huì)用到圖像處理,所以就研究了一下。廢話不多說,先扔一個(gè)目錄在這:
**圖像卷積
圖像梯度
邊緣提取
-
Prewitt算子
-
Sobel算子
-
Laplacian算子
平滑去噪
-
高斯濾波
-
均值濾波
-
中值濾波**
文章有點(diǎn)長,看不完可以先收藏。
01
圖像卷積
這里有一張圖像 f(x,y) 和一個(gè)kernel核 w(a,b)。通過核對(duì)圖像進(jìn)行卷積
如下圖所示:
這是要做什么呢?先來看看卷積操作是什么意思。
卷積操作就是對(duì)于圖像 f(x,y) 中的每個(gè)像素,將其作為中心像素,計(jì)算它及其鄰域像素和 kernel核 w(a,b) 對(duì)應(yīng)位置元素的乘積,然后把結(jié)果相加到一起,得到的值就作為該中心像素的新值,這樣就完成了一次卷積運(yùn)算。
如上圖所示,原圖像中的 1 經(jīng)過卷積操作,得到新值 -8。
然后將 kernel 向下或向左滑動(dòng)一位繼續(xù)計(jì)算其他像素的新值,直到遍歷完整個(gè)圖像。
用公式表示卷積運(yùn)算:
還有一個(gè)和類似的概念是 互相關(guān) (Cross-correlation),流程和卷積類似,區(qū)別在于卷積在運(yùn)算前需要把kernel圍繞中心旋轉(zhuǎn)180度(即做一次上下翻轉(zhuǎn)(filp)和一次左右翻轉(zhuǎn)),而互相關(guān)則不需要。
互相關(guān)的公式如下:
互相關(guān)主要用于計(jì)算兩個(gè)圖像的相關(guān)性(主要用于圖像配準(zhǔn))。因?yàn)槲覀兤綍r(shí)接觸的卷積核大都是關(guān)于x軸和y軸對(duì)稱的,所以卷積和互相關(guān)在這種情況下沒什么區(qū)別。
中心像素在圖像的邊緣時(shí),沒有足夠的像素與kernel進(jìn)行運(yùn)算,有兩個(gè)方法來解決:
- 最外面的一圈像素不進(jìn)行計(jì)算,如果圖像非常大,丟掉圖像邊緣的一圈對(duì)結(jié)果影響不大。
- 比較好的辦法是人為地在圖像四周插入一圈像素(比如最近鄰插值)。
圖像的處理結(jié)果可能超出值域范圍(0-255),則小于0的值視作0,大于255的視作255就行了。
這里的核是什么意思,卷積到底有什么用?別著急,接下來會(huì)慢慢介紹。
02
圖像梯度
梯度的方向是函數(shù) f(x,y) 變化最快的方向,當(dāng)圖像中存在邊緣時(shí),有一些相鄰像素的灰度值變化比較大,即一定有較大的梯度值。所以可以求圖像的梯度來確定圖像的邊緣。
分別對(duì)圖像按照x方向和y方向進(jìn)行求偏導(dǎo),得到x梯度圖和y梯度圖。梯度是矢量,存在幅值和方向,下面這個(gè)公式表示了圖像的梯度:
梯度方向會(huì)取絕對(duì)值,因此得到的角度范圍是 [0,180°]。
導(dǎo)數(shù)的含義就是計(jì)算像素灰度值的變化率,對(duì)于離散圖像而言,在圖像上使用一階差分來計(jì)算相鄰像素之間的差值,從而得到圖像的梯度。
上面是對(duì)斜坡區(qū)域進(jìn)行求導(dǎo),斜坡區(qū)域是圖像中最常見的區(qū)域,因?yàn)閳D片中的大部分邊緣都不是突變的而是漸變的。
對(duì)于斜坡區(qū)域,一階導(dǎo)數(shù)將斜坡變成了平坦區(qū)域即變成了粗線,二階導(dǎo)數(shù)將斜坡變成了兩條中間存在平臺(tái)區(qū)域的細(xì)線。
關(guān)于一階和二階導(dǎo)數(shù)總結(jié)如下:
- 一階導(dǎo)數(shù)在圖像中產(chǎn)生較粗的邊緣
- 二階導(dǎo)數(shù)對(duì)細(xì)節(jié)更敏感,如細(xì)線、噪聲等,它提取出來的邊緣更細(xì)更強(qiáng)(sharp)
- 二階導(dǎo)數(shù)在灰度斜坡和灰度臺(tái)階過度處會(huì)產(chǎn)生雙邊沿響應(yīng)
- 二階導(dǎo)數(shù)的符號(hào)可以確定邊緣的過渡是從亮到暗還是從暗到亮
- 根據(jù)導(dǎo)數(shù)提取邊緣之前最好對(duì)圖像做平滑處理,因?yàn)閷?dǎo)數(shù)對(duì)噪聲比較敏感,尤其是二階導(dǎo)數(shù)
- 二階導(dǎo)數(shù)會(huì)強(qiáng)化邊緣和其他區(qū)域的對(duì)比度,但是也會(huì)將灰度平滑區(qū)域的噪聲進(jìn)行放大,使其更明顯
-
圖像處理
+關(guān)注
關(guān)注
27文章
1292瀏覽量
56762 -
計(jì)算機(jī)
+關(guān)注
關(guān)注
19文章
7500瀏覽量
88019
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論