图像sobel梯度详细计算过程_数字图像处理(第十章)
- 點、線、邊緣檢測
背景知識。書中主要介紹了圖像的一階導(dǎo)數(shù)與二階導(dǎo)數(shù),這個之前的文章中有過介紹這里在復(fù)習(xí)一遍。對于函數(shù)
,對于點 在x方向的一階偏導(dǎo)為: ,二階偏導(dǎo)為:之后書中總結(jié)了一階導(dǎo)與二階導(dǎo)對于圖像求取邊緣的結(jié)論:
孤立點檢測。圖像中孤立點檢測使用二階梯度。公式如下:
(擴展:用于邊緣檢測的sobel算子屬于一階梯度。)
拓展一下拉普拉斯,包含像素
四個對角,那么可以使用如下模板。線檢測
線檢測同樣使用拉普拉斯變換,不過不同的方向使用不同的二階偏導(dǎo)。如下圖是不同方向直線檢測模板。
例如水平方向的檢測模板,使用y方向的二階偏導(dǎo)。
- 基本邊緣檢測
選擇梯度作為在圖像
的 處邊緣的強度和方向。梯度表示如下: ,沿梯度方向灰度變化率最大。梯度大小:
梯度方向:沿
軸的夾角: ,梯度表示如下圖。任意點
處邊緣的方向與該點處梯度向量的方向正交。梯度向量有時被稱為邊緣法線。當(dāng)向量通過除以其幅值而歸一化為單位向量,結(jié)果稱為邊緣單位法線。
- 梯度算子
如下圖幾種常用梯度算子:
Prewitt算子與Sobel算子的區(qū)別在于Sobel算子的中心元素是前者的2倍,這提供了平滑的作用,中心元素2倍于兩邊的元素,這可以看作高斯分布的簡化版,如果模板再大些,可以使用高斯分布初始化各個模板中各個系數(shù)。Prewitt與Sobel具有各項同性的特點。兩種算子對角的模板如下圖。
- 更先進的邊緣檢測技術(shù)
Marr-Hildreth邊緣檢測器。
高斯拉普拉斯函數(shù)本質(zhì)上是求高斯函數(shù)的二階梯度,具體公式如下圖:
拉普拉斯模板可以將模板的
坐標(biāo)帶入到公式中,調(diào)整模板的系數(shù)都是整數(shù),保證系數(shù)和為0.零交叉點:一階導(dǎo)數(shù)的局部最大值對應(yīng)二階導(dǎo)數(shù)的零交叉點(zero crossing),于是通過找出圖像強度的二階導(dǎo)數(shù)的零交叉點就能找到精確的邊緣點。Laplacian算子是常用的二階導(dǎo)數(shù)算子。
- canny算子
步驟:
主要介紹3,4步驟。第3步將每一個待處理的邊緣像素方向分為8份,一共有水平、垂直、-45、+45四個方向。如下圖。
在圖a中,假設(shè)現(xiàn)在有一水平邊緣,那么該邊緣的法線方向一定穿過p2,p8(梯度方向),所以比較p5與p2、p8的幅值大小,如果p5均大于兩者,那么保留,否則抑制為0.
步驟4設(shè)置兩個閾值,大閾值、小閾值,梯度幅值大于大閾值的保留、小于小閾值的置零,中間的幅值如果與大閾值相鄰,那么保留。
- 邊緣連接與邊界檢測
前面已經(jīng)講過可以使用一階梯度算子得到邊緣的梯度強度以及方向,由于其他因素的干擾,邊緣點是不連續(xù)的。那么設(shè)計算法將相似邊緣點進行連接,以點
為中心的八鄰域內(nèi)的點 ,確定邊緣相似有兩個性質(zhì):梯度強度差小于閾值
;梯度方向差小于閾值
;步驟2中
表示角度 左右 范圍。步驟4的意思是旋轉(zhuǎn)圖像,再執(zhí)行步驟3的掃描,將掃描結(jié)果旋轉(zhuǎn)回來。
書中舉了車牌識別的例子,如下圖。
分別連接水平豎直的邊緣并合并,根據(jù)車牌的長寬比定位車牌位置(可以計算連通區(qū)域)。
- 使用多邊形近似連接邊緣
- 使用霍夫變換找直線
對于二維平面的直線
,可以寫成參數(shù)形式: ,那么對于一條直線來說,在參數(shù)空間對應(yīng)于一點,對于一點來說,參數(shù)空間對應(yīng)于一條直線。具體如下圖:那么對于圖a中直線對應(yīng)于b圖中的點
,那么圖a中直線上的點對應(yīng)于b圖中經(jīng)過點 的直線。但是在實際使用過程中,對于逼近垂直方向的直線來說,其斜率無限大,計算不方便產(chǎn)生較大誤差,所以使用直線法線表示方法。其中
是直線與x軸的夾角, 是原點到直線的距離,那么在參數(shù) 空間中,直線上每一點都是一條正弦曲線,這些曲線交于的一點就是該直線。如下圖。圖c是
平面的累加單元,其中兩個參數(shù)的范圍為: , . 是對角線之間的距離。使用方法是對于 平面上前景點求其在 平面上的曲線,并在 平面的累加單元上畫出并累加,統(tǒng)計累加點數(shù)多的 坐標(biāo),該坐標(biāo)是判斷出的直線。霍夫變換法還可拓展到曲線的檢測。
- 閾值處理
影響圖像二值化分割的因素:噪聲、光照不均勻、物體表面反射光線不均勻。
存在噪聲可以使用一些平滑算法、又由于噪聲多數(shù)為頻率較高的分量,可以使用低通濾波處理。光照不均勻可以使用同態(tài)濾波,同態(tài)濾波假設(shè)不均勻光照是低頻分量,那么轉(zhuǎn)換到頻率域,抑制低頻,增強高頻;可以使用局部閾值進行處理;可以使用頂帽變換處理,先使用與前景物體大小類似結(jié)構(gòu)元去掉物體留下背景,使用剩余的背景均勻原背景,最后閾值分割。
- Otus
圖像灰度被分類兩類,該算法選擇分類邊界閾值
,使用的方法是計算最大類間方差,對于[0,255]的灰度也就是說 取多少,類間方差最大。那么將問題轉(zhuǎn)化為如何求解類間方差:其中
是兩類像素的概率, 是兩類像素的平均灰度值, 是全局灰度值。- 使用邊緣檢測改善閾值處理效果
書中介紹了一種方法,該方法用于對抗噪聲的干擾,主要意思是對有噪聲污染的待處理圖像進行邊緣檢測,對檢測后的圖像進行二值化,使用二值化后的圖像作為掩膜,對掩膜中的圖像進行閾值化例如Otus。下面兩個例子如下圖。
- 多閾值處理
類似OTUS算法,只不過OTUS是計算一個閾值,分成兩類,多閾值可以計算多個閾值。
- 可變閾值處理
這一小結(jié)所講算法也是針對于非均勻光照這類問題而提出的,再次總結(jié)以下前面對于非均勻光照使用的方法,可以使用同態(tài)濾波或頂帽變換進行處理。
分塊閾值
將圖像分成小份,每個小份進行單獨閾值處理,該方法基于每個小塊的灰度是均勻的。
使用局部灰度標(biāo)準(zhǔn)差、局部灰度均值來確定局部閾值,公式如下:
其中
表示標(biāo)準(zhǔn)差, 表示均值。 是常數(shù)權(quán)值。移動平均閾值
能夠穩(wěn)定有效處理光照不均勻的文本圖像,和一些受正弦波污染的圖像。
- 多變量閾值處理
對于灰度圖像,每一個像素是單通道數(shù)值,那么灰度圖像是單變量的圖像,對于RGB彩色圖像,每一個像素是3通道數(shù)值,那么彩色圖像是多變量的圖像。灰度圖像閾值分割是通過灰度值距離進行分割,所以引申到彩色圖像,是通過彩色像素值距離進行分割,彩色像素是多通道,那么可以使用多變量距離進行區(qū)分。例如:微紅色像素值向量為
,那么對于待分割圖像的每一個像素 ,它們之間的距離可以使用歐式距離來表示:如果考慮像素之間的關(guān)系,可以使用馬氏距離:
其中
是 的協(xié)方差矩陣,當(dāng) 時,馬氏距離轉(zhuǎn)換為歐式距離,表示各個通道之間無關(guān)。- 區(qū)域生長
區(qū)域生長的方法的原理與種子填充算法類似,首先需要種子點,根據(jù)相似度(灰度、紋理等)將不同區(qū)域進行合并進而分割。
- 分裂合并
按照某一規(guī)則對一副圖像進行細(xì)分,直到每一細(xì)分區(qū)域都滿足該規(guī)則為止,在對細(xì)分后 的區(qū)域進行合并。
上面兩個算法原理比較好理解,區(qū)域生長實質(zhì)上是分裂合并的合并步驟。
- 分水嶺分割
- 運動過程中的分割
空間域分析
使用運動視頻中每一幀之間的像素差值來作為運動變化的證據(jù)進行分析。兩幅圖像之間的差值圖像定義如下:
累計運動圖像。
總結(jié)
以上是生活随笔為你收集整理的图像sobel梯度详细计算过程_数字图像处理(第十章)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 可以搜python编程答案的软件_pyt
- 下一篇: react antd confirm c