RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于圖像的微分的:一階微分和二階微分(拉普拉斯算子)

Dbwd_Imgtec ? 來源:未知 ? 作者:李倩 ? 2018-09-13 15:19 ? 次閱讀

前面介紹的幾種濾波器都屬于平滑濾波器(低通濾波器),用來平滑圖像和抑制噪聲的;而銳化空間濾波器恰恰相反,主要用來增強(qiáng)圖像的突變信息,圖像的細(xì)節(jié)和邊緣信息。平滑濾波器主要是使用鄰域的均值(或者中值)來代替模板中心的像素,消弱和鄰域間的差別,以達(dá)到平滑圖像和抑制噪聲的目的;相反,銳化濾波器則使用鄰域的微分作為算子,增大鄰域間像素的差值,使圖像的突變部分變的更加明顯。

本位主要介紹了一下幾點(diǎn)內(nèi)容:

圖像的一階微分和二階微分的性質(zhì)

幾種常見的一階微分算子

二階微分算子 - Laplace 拉普拉斯算子

一階微分算子和二階微分算子得到邊緣的對比

一階微分和二階微分的性質(zhì)

既然是基于一階微分和二階微分的銳化空間濾波器,那么首先就要了解下一階和二階微分的性質(zhì)。

圖像的銳化也就是增強(qiáng)圖像的突變部分,那么我們也就對圖像的恒定區(qū)域中,突變的開始點(diǎn)與結(jié)束點(diǎn)(臺階和斜坡突變)及沿著灰度斜坡處的微分的性質(zhì)。微分是對函數(shù)局部變化率的一種表示,那么對于一階微分有以下幾個性質(zhì):

在恒定的灰度區(qū)域,圖像的微分值為0.(灰度值沒有發(fā)生變換,自然微分為0)

在灰度臺階或斜坡起點(diǎn)處微分值不為0.(臺階是,灰度值的突變變化較大;斜坡則是灰度值變化較緩慢;灰度值發(fā)生了變化,微分值不為0)

沿著斜坡的微分值不為0.

二階微分,是一階微分的導(dǎo)數(shù),和一階微分相對應(yīng),也有以下幾點(diǎn)性質(zhì):

在恒定區(qū)域二階微分值為0

在灰度臺階或斜坡的起點(diǎn)處微分值不為0

沿著斜坡的微分值為0.

從以上圖像灰度的一階和二階微分的性質(zhì)可以看出,在灰度值變化的地方,一階微分和二階微分的值都不為0;在灰度恒定的地方,微分值都為0.也就是說,不論是使用一階微分還是二階微分都可以得到圖像灰度的變化值。

圖像可以看著是二維離散函數(shù),對于圖像的一階微分其計(jì)算公式如下:

對于二階微分有:

對于圖像邊緣處的灰度值來說,通常有兩種突變形式:

? 邊緣兩邊圖像灰度差異較大,這就形成了灰度臺階。在臺階處,一階微分和二階微分的值都不為0.

? 邊緣兩邊圖像灰度變化不如臺階那么劇烈,會形成一個緩慢變換的灰度斜坡。在斜坡的起點(diǎn)和終點(diǎn)一階微分和二階微分的值都不為0,但是沿著斜坡一階微分的值不為0,而二階微分的值為0.

對于圖像的邊緣來說,通常會形成一個斜坡過度。一階微分在斜坡處的值不為0,那么用其得到的邊緣較粗;而二階微分在斜坡處的值為0,但在斜坡兩端值不為0,且值得符號不一樣,這樣二階微分得到的是一個由0分開的一個像素寬的雙邊緣。也就說,二階微分在增強(qiáng)圖像細(xì)節(jié)方面比一階微分好得多,并且在計(jì)算上也要比一階微分方便。

梯度圖

在圖像處理中的一階微分通常使用梯度的幅值來實(shí)現(xiàn)。對于圖像 f ( x , y ) ,f在坐標(biāo) ( x , y ) 處的梯度是一個列向量

該向量表示圖像中的像素在點(diǎn) ( x , y ) 處灰度值的最大變化率的方向。向量 ?f 的幅值就是圖像 f ( x , y ) 的梯度圖,記為M(x,y)

M ( x , y ) 是和原圖像 f( x , y ) 同大小的圖像。由于求平方的根運(yùn)算比較費(fèi)時,通??梢允褂媒^對值的和來近似

從上面可以看出,要得到圖像的梯度圖,有以下步驟:

? 圖像在 x 方向的梯度 gx ? 圖像在 y 方向的梯度 gy ? M ( x , y ) =∣gx∣+∣gy∣

一階梯度算子

圖像是以離散的形式存儲,通常使用差分來計(jì)算圖像的微分,常見的計(jì)算梯度的模板有以下幾種

? 根據(jù)梯度的定義

可以得到模板 [ ?1 1 ] 和使用該方法計(jì)算的圖像的梯度只是考慮單個像素的差值,并沒有利用到圖像的像素的鄰域特性。

? Robert交叉算子

在圖像處理的過程中,不會只單獨(dú)的對圖像中的某一個像素進(jìn)行運(yùn)算,通常會考慮到每個像素的某個鄰域的灰度變化。因此,通常不會簡單的利用梯度的定義進(jìn)行梯度的計(jì)算,而是在像素的某個鄰域內(nèi)設(shè)置梯度算子。考慮,3×3 區(qū)域的像素,使用如下矩陣表示:

令中心點(diǎn) z5表示圖像中任一像素,那么根據(jù)梯度的定義,z5在在 x 和 y 方向的梯度分別為:gx=z9?z5和gy=z8?z6,梯度圖像 M ( x , y )

根據(jù)上述公式,Robert在1965年提出的Robert交叉算子

? Sobel算子

Robert交叉算子的尺寸是偶數(shù),偶數(shù)尺寸濾波器沒有對稱中心計(jì)算效率較低,所以通常濾波器的模板尺寸是奇數(shù)。仍以3×3 為例,以 z5為對稱中心(表示圖像中的任一像素),有

利用上述公式可以得到如下兩個卷積模板,分別計(jì)算圖像在 x 和 y 風(fēng)向的梯度

第一個模板,第三行和第一行的差近似x方向的偏微分;第二個模板,第三列和第一列的差近似y方向的偏微分,而且模板的所有系數(shù)只和為0,表示恒定灰度區(qū)域的響應(yīng)為0.

基于OpenCV的一階梯度算子實(shí)現(xiàn)

? Sobel算子

在OpenCV中封裝了Sobel算子,其函數(shù)為Sobel。使用Sobel能夠很方便的計(jì)算任意尺寸的x和y方向的偏微分,具體如下:

void sobel_grad(const Mat &src, Mat &dst) { Mat grad_x, grad_y; Sobel(src, grad_x, CV_32F, 1, 0); Sobel(src, grad_y, CV_32F, 0, 1); //convertScaleAbs(grad_x, grad_x); //convertScaleAbs(grad_y, grad_y); //addWeighted(grad_x, 0.5, grad_y, 0.5, 0, dst); magnitude(grad_x, grad_y, dst); convertScaleAbs(dst, dst); }

上述代碼中調(diào)用Sobel分別得到圖像在x和y方向的偏微分 gx和 gy,然后相加得到得到圖像的梯度圖。

其余的幾個函數(shù)說明,convertScaleAbs將圖像類型轉(zhuǎn)換為CV_8U;addWeighted按一定的權(quán)值將兩個圖像相加;magnitude求兩個圖像的幅值,其公式為

,具體的參數(shù)說明可參考OpenCV的官方文檔。

? 基于定義和Robert交叉算子的計(jì)算

對于這兩種算子,OpenCV中并沒有提供具體的函數(shù),不過可以利用filter2D函數(shù)來實(shí)現(xiàn)。filter2D是OpenCV中對圖像進(jìn)行卷積運(yùn)算的一個很重要的函數(shù),該函數(shù)能夠使用任意的線性卷積核對圖像進(jìn)行卷積運(yùn)算。

void robert_grad(const Mat& src, Mat &dst) { Mat grad_x, grad_y; Mat kernel_x = (Mat_(2, 2) << -1, 0,0,1); ? ?Mat kernel_y = (Mat_(2, 2) << 0, -1, 1, 0); ? ? ? ?filter2D(src, grad_x, CV_32F, kernel_x); ? ?filter2D(src, grad_y, CV_32F, kernel_y); ? ?//convertScaleAbs(grad_x, grad_x); ? ?//convertScaleAbs(grad_y, grad_y); ? ?//addWeighted(grad_x, 1, grad_y, 1, 0, dst); ? ?magnitude(grad_x, grad_y, dst);}

構(gòu)造好Robert交叉算子,然后調(diào)用filter2D即可;基于定義的計(jì)算方法于此類似,不在贅述。

結(jié)果三種方法計(jì)算得到的梯度圖,如下:

從上面結(jié)果可以看出,Robert交叉算子和基于定義得到的邊緣圖,得到的邊緣較細(xì)并且不是很連續(xù);Sobel得到邊緣較粗,線條連續(xù),效果明顯好于其他的兩種算子。

二階微分算子 - LapLace 拉普拉斯算子

二階微分算子的代表就是拉普拉斯算子,其定義如下:

其中:

對于上述的 3×3 區(qū)域,則有

其得到的模板如下:

注意,模板中心的符號,并且模板的所有系數(shù)之和為0.

在OpenCV中有對LapLace的封裝,其函數(shù)為Laplacian,其使用的模板中心的系數(shù)為負(fù),具體參數(shù)說明參見OpenCV文檔,其得到的邊緣圖和一階微分算子得到邊緣圖對比結(jié)果如下:

? 一階微分算子Sobel得到的邊緣較粗 ? 二階微分算子Laplace得到的邊緣則較細(xì),并且邊緣是雙邊緣 ? Lpalace算子對噪聲比較敏感,得到的邊緣圖像上噪聲較明顯

由于Laplace算子對噪聲敏感,會得到雙邊,并且并不能檢測邊緣的方向,其通常不用于直接的邊緣檢測,只是起到輔助作用。檢測某像素實(shí)在邊緣的亮的一側(cè)還是暗的一側(cè),利用“零跨越”確定邊緣的位置。

總結(jié)

本文主要介紹了圖像空間域的銳化算子(也就是邊緣檢測算子),這些算子都是基于圖像的微分的:一階微分和二階微分(拉普拉斯算子)。

由于一階微分和二階微分有各自的特點(diǎn),其得到的圖像邊緣也不相同:一階微分得到的圖像邊緣較粗,二階微分得到的是較細(xì)的雙邊緣,所以在圖像的邊緣增強(qiáng)方面二階微分算子的效果較好。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 濾波器
    +關(guān)注

    關(guān)注

    161

    文章

    7795

    瀏覽量

    177990
  • 圖像處理
    +關(guān)注

    關(guān)注

    27

    文章

    1289

    瀏覽量

    56722
  • 微分
    +關(guān)注

    關(guān)注

    0

    文章

    31

    瀏覽量

    14098

原文標(biāo)題:圖像處理基礎(chǔ)——銳化空間濾波器

文章出處:【微信號:Imgtec,微信公眾號:Imagination Tech】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    拉普拉斯變換的基本性質(zhì).ppt

    拉普拉斯變換的基本性質(zhì).ppt.線性性.延時(時域平移)三.尺度變換 四.s 域平移 五.時域微分定理 六.時域積分定理 七.s 域微分
    發(fā)表于 09-16 08:37

    請問用matlab對圖像進(jìn)行無方向性的二階微分如何調(diào)用函數(shù)

    請問用matlab對圖像進(jìn)行無方向性的二階微分該怎么調(diào)用函數(shù)呀?我現(xiàn)在在做散焦圖像復(fù)原,遇到matlab調(diào)用函數(shù)的問題,希望哪位可以給我
    發(fā)表于 05-18 21:30

    一階跟蹤微分器電路!

    一階跟蹤微分器電路!哪位大神懂,網(wǎng)上都是式子,沒有電路
    發(fā)表于 04-07 13:54

    基于FPGA的圖像拉普拉斯銳化處理

    時,此中心像素的灰度應(yīng)被進(jìn)步提高,以此實(shí)現(xiàn)圖像的銳化處理。2.2拉普拉斯(laplace)算子最常用的無方向性的二階差分
    發(fā)表于 07-08 18:15

    基于FPGA的圖像拉普拉斯邊緣提取

    灰度時,此中心像素的灰度應(yīng)被進(jìn)步提高,以此實(shí)現(xiàn)圖像的銳化處理。2.2拉普拉斯(laplace)算子最常用的無方向性的二階差分
    發(fā)表于 07-10 09:12

    玩轉(zhuǎn)Zynq連載42——[ex61] OV5640攝像頭的圖像拉普拉斯銳化處理

    被進(jìn)步降低,當(dāng)鄰域中心像素灰度高于它所在的鄰域內(nèi)其它像素的平均灰度時,此中心像素的灰度應(yīng)被進(jìn)步提高,以此實(shí)現(xiàn)圖像的銳化處理。2.2拉普拉斯(laplace)
    發(fā)表于 12-17 10:34

    玩轉(zhuǎn)Zynq連載43——[ex62] OV5640攝像頭的圖像拉普拉斯邊緣提取

    的灰度應(yīng)被進(jìn)步降低,當(dāng)鄰域中心像素灰度高于它所在的鄰域內(nèi)其它像素的平均灰度時,此中心像素的灰度應(yīng)被進(jìn)步提高,以此實(shí)現(xiàn)圖像的銳化處理。2.2拉普拉斯(laplace)
    發(fā)表于 12-19 09:45

    玩轉(zhuǎn)Zynq連載45——[ex64] MT9V034攝像頭的圖像拉普拉斯銳化處理

    ,有時為了強(qiáng)調(diào)圖像的邊緣和細(xì)節(jié),需要對圖像進(jìn)行銳化,提高對比度。拉普拉斯銳化圖像是根據(jù)圖像某個像素的周圍像素到此像素的突變,也就是說它的依據(jù)
    發(fā)表于 12-26 09:13

    玩轉(zhuǎn)Zynq連載46——[ex65] MT9V034攝像頭的圖像拉普拉斯邊緣提取

    進(jìn)步提高,以此實(shí)現(xiàn)圖像的銳化處理。2.2拉普拉斯(laplace)算子最常用的無方向性的二階差分算子
    發(fā)表于 12-30 10:03

    計(jì)算機(jī)Fortran編程實(shí)現(xiàn)偏微分方程拉普拉斯變換

    9.6. 演示了維度的拉普拉斯方程式的解答。勢能僅為?x的個函數(shù),并且為此(9.32)化簡致。。。?(次偏微分方程式)?。。。積分兩次
    發(fā)表于 08-14 20:38

    Labview圖像處理——邊緣檢測

    ,而是用來判斷邊緣像素視為與圖像的明區(qū)還是暗區(qū)。拉普拉斯高斯算子二階導(dǎo)數(shù)算子,將在邊緣處產(chǎn)
    發(fā)表于 12-01 12:16

    邊緣檢測的幾種微分算子

    、邊緣檢測邊緣檢測的幾種微分算子一階微分算子:Roberts、Sobel、Prewitt
    發(fā)表于 07-26 08:29

    微分方程復(fù)習(xí),常微分方程pdf

    微分方程復(fù)習(xí),常微分方程pdf:微分方程的般概念線性常微分方程的性質(zhì)一階線性常
    發(fā)表于 04-23 22:08 ?0次下載

    基于拉普拉斯算法的圖像銳化算法實(shí)現(xiàn)

    該文提出了種基于拉普拉斯算法的圖像銳化方法,并在DSP上實(shí)現(xiàn)其算法。首先研究拄普拉斯算子銳化圖像
    發(fā)表于 10-12 16:22 ?79次下載
    基于<b class='flag-5'>拉普拉斯</b>算法的<b class='flag-5'>圖像</b>銳化算法實(shí)現(xiàn)

    異性四微分方程耦合二階微分方程的圖像放大算法

    針對增強(qiáng)圖像中的弱邊緣、細(xì)節(jié)紋理和消除二階微分方程在圖像平滑部分的階梯效應(yīng)問題,提出種各向異性四
    發(fā)表于 01-12 14:38 ?0次下載
    RM新时代网站-首页