java 图像梯度检测_数字图像处理-边缘检测
梯度介紹
首先介紹邊緣檢測(cè)中用到的高等數(shù)學(xué)原理---梯度。介紹梯度,離不開方向?qū)?shù)。
方向?qū)?shù)
顧名思義,方向?qū)?shù)就是某個(gè)方向上的導(dǎo)數(shù)。
什么是方向:
函數(shù)
在這個(gè)方向上的圖像:
我們知道:
函數(shù)
的
點(diǎn)在這個(gè)方向上也是有切線的,其切線的斜率就是方向?qū)?shù):
梯度
梯度:是一個(gè)矢量,它的方向上的方向?qū)?shù)最大,它的大小正好是此最大方向?qū)?shù)。
梯度的數(shù)學(xué)定義
簡(jiǎn)單總結(jié)下:
方向?qū)?shù)是各個(gè)方向上的導(dǎo)數(shù)
偏導(dǎo)數(shù)連續(xù)才有梯度存在
梯度的方向是方向?qū)?shù)中取到最大值的方向,梯度的值是方向?qū)?shù)的最大值
2.?邊緣檢測(cè)
《經(jīng)典邊緣檢測(cè)算子比較》 張麗 南京信息工程大學(xué)
圖像的邊緣是圖像最基本的特征之一。所謂邊緣(或邊沿)是指周圍像素灰度有跳躍性變化或“屋頂”變化的那些像素的集合。邊緣是圖像局部強(qiáng)度變化最明顯的地方,它主要存在于目標(biāo)與目標(biāo)、目標(biāo)與背景、區(qū)域與區(qū)域之間,因此它是圖像分割依賴的重要特征。
從本質(zhì)上說(shuō),圖像邊緣是圖像局部特性不連續(xù)性(灰度突變、顏色突變、紋理結(jié)構(gòu)突變等)的反應(yīng),它標(biāo)志著一個(gè)區(qū)域的終結(jié)和另一個(gè)區(qū)域的開始。
邊緣檢測(cè)是所有基于邊界分割的圖像分析方法的第一步。
檢測(cè)出的邊緣并不等同于實(shí)際目標(biāo)的真實(shí)邊緣。由于圖像數(shù)據(jù)時(shí)二維的,而實(shí)際物體是三維的,從三維到二維的投影必然會(huì)造成信息的丟失,再加上成像過(guò)程中的光照不均和噪聲等因素的影響,使得有邊緣的地方不一定能被檢測(cè)出來(lái),而檢測(cè)出的邊緣也不一定代表實(shí)際邊緣。
圖像的邊緣有方向和幅度兩個(gè)屬性,沿邊緣方向像素變化平緩,垂直于邊緣方向像素變化劇烈。邊緣上的這種變化可以用微分算子檢測(cè)出來(lái),通常用一階或兩階導(dǎo)數(shù)來(lái)檢測(cè)邊緣。一階導(dǎo)數(shù)認(rèn)為最大值對(duì)應(yīng)邊緣位置,而二階導(dǎo)數(shù)則以過(guò)零點(diǎn)對(duì)應(yīng)邊緣位置。
圖像的梯度可以用一階導(dǎo)數(shù)和二階偏導(dǎo)數(shù)來(lái)求解。但圖像是離散的,對(duì)一幅圖像的求導(dǎo)相當(dāng)于對(duì)一個(gè)面求導(dǎo)。對(duì)圖像的操作,我們采用模板對(duì)原圖像進(jìn)行卷積運(yùn)算,從而達(dá)到我們想要的效果。而獲取一幅圖像的梯度就轉(zhuǎn)化為:模板(Roberts、Prewitt、Sobel、Lapacian算子)對(duì)原圖像進(jìn)行卷積,不過(guò)這里的模板并不是隨便設(shè)計(jì)的,而是根據(jù)數(shù)學(xué)中求導(dǎo)理論推導(dǎo)出來(lái)的。
Roberts算子
梯度的模為
在圖像處理中,實(shí)際我們用
和
來(lái)表示兩個(gè)偏導(dǎo)數(shù)
故,梯度的模可以表示為:
因?yàn)槠椒胶推椒礁枰罅康挠?jì)算開銷,所以使用絕對(duì)值來(lái)近似梯度幅值:
一般我們常用對(duì)角線方向的像元計(jì)算梯度
Prewitt和Sobel算子
在3*3模板中:
定義水平、垂直和兩對(duì)角線方向的梯度:
?
該定義下的算子稱之為Prewitt算子:
Sobel算子是在Prewitt算子的基礎(chǔ)上改進(jìn)的,在中心系數(shù)上使用一個(gè)權(quán)值2,相比較Prewitt算子,Sobel模板能夠較好的抑制(平滑)噪聲。
計(jì)算公式為:
?
Sobel算子:
上述所有算子都是通過(guò)求一階導(dǎo)數(shù)來(lái)計(jì)算梯度的,用于線的檢測(cè),在圖像處理中,通常用于邊緣檢測(cè)。在圖像處理過(guò)程中,除了檢測(cè)線,有時(shí)候也需要檢測(cè)特殊點(diǎn),這就需要用二階導(dǎo)數(shù)進(jìn)行檢測(cè)。
總結(jié)
以上是生活随笔為你收集整理的java 图像梯度检测_数字图像处理-边缘检测的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: vue数组修改不触发视图更新、vue向响
- 下一篇: tensorflow随笔-正则化与指数衰