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

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

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

圖像處理算法——邊緣檢測

新機(jī)器視覺 ? 來源:CSDN ? 2023-11-30 16:56 ? 次閱讀

圖像處理領(lǐng)域中涉及很多特征,角點(diǎn)特征,邊緣特征,形狀特征,紋理特征,顏色特征,直方圖統(tǒng)計特征等等(還有很多^_^)。這些特征有些是比較底層的特征,如角點(diǎn)特征,邊緣特征,顏色特征等,有些則是較為高層的特征,如形狀特征,紋理特征,直方圖統(tǒng)計特征。

這里我們主要談?wù)摰讓犹卣髦械倪吘壧卣鳎崛∵@些特征的手段叫作邊緣特征提取或叫作邊緣檢測。邊緣檢測常用的算子中分為一階檢測算子和二階檢測算子,這里提及的算子有些類似數(shù)學(xué)中的微分的概念(要有一定的數(shù)學(xué)基礎(chǔ)哦)。邊緣檢測的另外一種形式也被成為相位一致性,這個概念我到后面再談及,有了這個概念之后幫助我們從圖像頻域分析邊緣提取這一過程。

表1 圖像處理邊緣檢測算子分類表格

ae253738-8f5b-11ee-939d-92fbcf53809c.jpg

基于邊緣檢測的分析不易受整體光照強(qiáng)度變化的影響,同時利用邊緣信息容易凸顯目標(biāo)信息和達(dá)到簡化處理的目的,因此很多圖像理解方法都以邊緣為基礎(chǔ)。邊緣檢測強(qiáng)調(diào)的是圖像對比度。對比度從直觀上的理解就是差異的大小,若對于灰度圖像來說就是灰度值(亮度值)的差別,若對于彩色圖像則是顏色的差異了。這些差異可以增強(qiáng)圖像中的邊界特征,因?yàn)檫@些邊界就是圖像對比度較大的體現(xiàn)。

這就是我們感知目標(biāo)邊界的大體機(jī)制,因?yàn)槟繕?biāo)的表現(xiàn)就是與它周圍的亮度差別。

一、水平差分算子、垂直差分算子

亮度變化可以通過對相鄰點(diǎn)進(jìn)行差分處理來增強(qiáng)。對水平方向的相鄰點(diǎn)進(jìn)行差分處理可以檢測垂直方向上的亮度變化,根據(jù)其作用通常被稱為水平邊緣檢測算子(horizontal edge detector),這樣就可以檢測出垂直邊緣Ex;對垂直方向的相鄰點(diǎn)進(jìn)行差分處理可以檢測水平方向上的亮度變化,根據(jù)其作用通常被稱為垂直邊緣檢測算子(vertical edge detector),這樣就可以檢測出水平邊緣Ey。

Ex = |Px,y - Px+1,y|
Ey = |Px,y - Px,y+1|

將水平邊緣檢測算子和垂直邊緣檢測算子結(jié)合,就可以同時檢測出垂直邊緣和水平邊緣,即:

Ex,y =|Px,y - Px+1,y + Px,y - Px,y+1|

由此可以得到

Ex,y =|2 x Px,y - Px+1,y - Px,y+1|

ae31b56c-8f5b-11ee-939d-92fbcf53809c.png

圖1 一階差分模板

利用泰勒級數(shù)分析可以知道相鄰兩點(diǎn)的差值是一階導(dǎo)數(shù)的估算值,誤差ae3df2dc-8f5b-11ee-939d-92fbcf53809c.png。
如果在相鄰兩個差分點(diǎn)之間插入一個像素來實(shí)現(xiàn),相當(dāng)于,相當(dāng)于用兩個相鄰點(diǎn)的一階差分作為新的水平差值Exx,其中

Exxx,y = Ex x+1,y + Ex x,y = |Px+1,y - Px,y + Px,y - Px-1,y| = |Px+1,y - Px-1,y |

利用泰勒級數(shù)分析可以知道一階微分的估算值是由一個像素隔開的兩個點(diǎn)的差值,誤差ae4c9800-8f5b-11ee-939d-92fbcf53809c.png。

ae5aee6e-8f5b-11ee-939d-92fbcf53809c.png

圖2-1 改進(jìn)的一階差分模板My

ae70f45c-8f5b-11ee-939d-92fbcf53809c.png

圖2-2 改進(jìn)的一階差分模板Mx

二、一階邊緣檢測

(a) Roberts交叉算子

Roberts交叉算子實(shí)現(xiàn)的基礎(chǔ)是一階邊緣檢測,利用兩個模板,計算對角線上而不是坐標(biāo)軸上的兩個像素的微分。這里命名這兩個模板分別為M+,M-

ae8271b4-8f5b-11ee-939d-92fbcf53809c.png

圖3-1 Roberts交叉算子模板M+

ae8bbeea-8f5b-11ee-939d-92fbcf53809c.png

圖3-2Roberts交叉算子模板 M-

(b) Prewitt邊緣檢測算子

邊緣檢測類似微分處理,它檢測的變化的部分,必然對噪聲和圖像的亮度變化都有相應(yīng)處理。因此,把均值處理加入到邊緣檢測過程中一定要非常謹(jǐn)慎。我們可以把垂直模板Mx擴(kuò)展成三行,而水平模板My擴(kuò)展成三列。這樣就得到Prewitt邊緣檢測算子。

ae9c6e16-8f5b-11ee-939d-92fbcf53809c.png

圖4-1 Prewitt算子模板Mx

aeb1d5f8-8f5b-11ee-939d-92fbcf53809c.png

圖4-2 Prewitt算子模板My

(c) Sobel邊緣檢測算子

如果把使兩個Prewitt模板算子中心像素的權(quán)值去兩倍的數(shù)值,便得到有名的Sobel邊緣檢測算子,它是由矢量方式確定邊緣的兩個掩碼組成的。Sobel很受歡迎是因?yàn)樗萈rewitt算子等同時期的其他邊緣檢測算子性能更好。

aec473fc-8f5b-11ee-939d-92fbcf53809c.png

圖5-1 Sobel算子模板Mx

aecf2298-8f5b-11ee-939d-92fbcf53809c.png

圖5-2 Sobel算子模板My

Sobel算子的通用形式綜合了一條坐標(biāo)軸上的最優(yōu)平滑和另一條坐標(biāo)軸上的最優(yōu)差分。值得注意的是,大的邊緣檢測模板的好處是它減少噪聲的平滑效果更好,然而邊緣模糊卻成為一個大難題。

(d) Canny邊緣檢測算子

Canny邊緣檢測算子可以說是當(dāng)前最受歡迎的邊緣檢測方法。它由三個主要目標(biāo)形成:

無附加響應(yīng)的最優(yōu)檢測

檢測邊緣位置和實(shí)際邊緣位置之間距離最小的正確定位

減少單邊緣的多重響應(yīng)而得到單響應(yīng)

Canny指出高斯算子對圖像平滑處理是最優(yōu)的。Canny邊緣檢測一般處理的步驟可以粗略的分為以下四個步驟:

應(yīng)用高斯平滑處理

應(yīng)用Sobel算子

應(yīng)用非極大值抑制(非極大值抑制實(shí)質(zhì)上是找到邊緣強(qiáng)度數(shù)據(jù)中的最高點(diǎn))

滯后閾值處理來連接邊緣點(diǎn)(閾值處理需要兩個閾值,即上限閾值和下限閾值 )

三、二階邊緣檢測

一階邊緣檢測的前提是微分處理可以使變化增強(qiáng)。找圖像變化率最大的地方不僅可以通過一階變化率的極值尋找,同時也可以通過二階變化的過零點(diǎn)來尋找。

aedb1634-8f5b-11ee-939d-92fbcf53809c.jpg

(a) Laplacian算子

二階微分可以利用兩個相鄰一階微分的差值來近似。這也和數(shù)學(xué)中的概念相一致。

aef3fd84-8f5b-11ee-939d-92fbcf53809c.png

圖6-1 垂直二階模板

aefe61a2-8f5b-11ee-939d-92fbcf53809c.png

圖6-2水平二階模板

如果把水平二階算子和處置二階微分算子結(jié)合起來,可以得到一個全Laplacian模板算子。

af092b5a-8f5b-11ee-939d-92fbcf53809c.png

圖7 Laplacian邊緣檢測算子

(b) Marr-Hidreth算子

Marr-Hidreth也是利用高斯濾波。該算子的曲面圖是墨西哥帽子的形狀,所以有時也被成為“墨西哥帽子”算子,如下圖所示。

af1ed018-8f5b-11ee-939d-92fbcf53809c.jpg

圖 8 LoG算子的形狀

實(shí)際上,如果把高斯平滑和Laplacian算子結(jié)合起來,可以得到一個LoG(Laplacian of Gaussian)算子,它就是Marr-Hidreth的基。

各算子的效果比較:

af2c4a5e-8f5b-11ee-939d-92fbcf53809c.jpg

圖 8 LoG算子的形狀

四、其他邊緣檢測

邊緣檢測作為視覺處理的初級階段,方法有很多種,這里我們再提及兩個設(shè)計最優(yōu)的邊緣檢測方法,Spacelk方法和Petrou方法。有興趣的朋友可以進(jìn)一步了解。這里需要提及的是Spacek算子使定位信噪比和峰值分離比的乘積最大化。Spacek算子比Canny算子具有很高的性能。Petrou算子使用的模板比較大,以便保存最優(yōu)性,因此Petrou算子可以處理比較大的計算復(fù)雜度,但在使用的時候,應(yīng)當(dāng)具體問題具體分析。

五、相位一致性

邊緣檢測算子的比較突出了它們的一些內(nèi)在問題:不完整輪廓問題、閾值選擇問題和噪聲響應(yīng)問題。因?yàn)楣庹諒?qiáng)度在圖像的不同區(qū)域是不一樣的,選擇單個閾值通常不能適用于圖像中的所有區(qū)域。這些問題單靠簡單初級的處理難以解決。需要優(yōu)化方法或者使用較為高級的手段才能達(dá)到一定的效果。

相位一致性(Phase congruency)方法是一個特征檢測算子,它由如下兩個優(yōu)點(diǎn):

可以檢測大范圍的特征

對局部(和平滑)光照變化具有不變性

這兩個優(yōu)點(diǎn)其實(shí)就是一致性檢測具有局部對比度不變性:即使階梯邊緣強(qiáng)度變小,其變化位置并不改變。

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

    關(guān)注

    26

    文章

    1268

    瀏覽量

    56368
  • 邊緣檢測
    +關(guān)注

    關(guān)注

    0

    文章

    91

    瀏覽量

    18160
  • 視覺處理
    +關(guān)注

    關(guān)注

    0

    文章

    29

    瀏覽量

    8893

原文標(biāo)題:圖像處理算法——邊緣檢測

文章出處:【微信號:vision263com,微信公眾號:新機(jī)器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    基于FPGA的實(shí)時邊緣檢測系統(tǒng)設(shè)計,Sobel圖像邊緣檢測,F(xiàn)PGA圖像處理

    ,所以先擴(kuò)大系數(shù)近似為整數(shù)再運(yùn)算。此處擴(kuò)大256 倍后取整,將運(yùn)算結(jié)果右移 8 位,提取 Y 分量即可得到灰度圖像,即 3 邊緣檢測算法設(shè)計 如圖4所示為待處理的3×3 像素點(diǎn),使用
    發(fā)表于 05-24 07:45

    基于FPGA的邊緣檢測和Sobel算法

    轉(zhuǎn)帖摘要: 針對嵌入式軟件無法滿足數(shù)字圖像實(shí)時處理速度問題,提出用硬件加速器的思想,通過FPGA實(shí)現(xiàn)Sobel邊緣檢測算法。通過乒乓操作、并行處理
    發(fā)表于 11-29 08:57

    如何利用FPGA實(shí)現(xiàn)Laplacian圖像邊緣檢測器的研究?

    引言邊緣可定義為圖像中灰度發(fā)生急劇變化的區(qū)域邊界,它是圖像最基本的特征,是圖像分析識別前必不可少的環(huán)節(jié),是一種重要的圖像預(yù)
    發(fā)表于 07-31 06:38

    【FPGA學(xué)習(xí)案例分享】基于FPGA的圖像邊緣檢測例程

    、灰度轉(zhuǎn)換、二值化、高斯濾波、 sobel算法圖像處理算法,以及FPGA的實(shí)現(xiàn)2、 SDRAM高速接口以及FPGA純邏輯實(shí)現(xiàn)3、電腦和FPGA交互的方法,以及對應(yīng)的指令系統(tǒng)。4、SCCB、VGA、串口等常用接口的實(shí)現(xiàn)方法5、用
    發(fā)表于 11-29 09:52

    Labview圖像處理——邊緣檢測

    。Sobel算子檢測方法對灰度漸變和噪聲較多的圖像處理效果較好,sobel算子對邊緣定位不是很準(zhǔn)確,圖像
    發(fā)表于 12-01 12:16

    常見圖像傳統(tǒng)處理算法是什么?

    常見圖像傳統(tǒng)處理算法是什么?
    發(fā)表于 09-28 08:58

    虹膜圖像預(yù)處理算法

    本文提出了一種基于眼睛圖像均衡化的基礎(chǔ)上的新型虹膜圖像預(yù)處理算法。此算法對虹膜圖像進(jìn)行了精確的定位,使定位后的虹膜
    發(fā)表于 01-13 14:38 ?21次下載

    基于Simulink的視頻與圖像處理算法的快速實(shí)現(xiàn)

    基于Simulink的視頻與圖像處理算法的快速實(shí)現(xiàn) 主要內(nèi)容 􀂄視頻和圖像系統(tǒng)設(shè)計􀂙基于模型的設(shè)計􀂙視頻和圖像
    發(fā)表于 04-29 14:00 ?0次下載

    醫(yī)學(xué)圖像邊緣檢測算法的研究

    邊緣檢測是醫(yī)學(xué)圖像處理中非常重要的一個環(huán)節(jié),通過對幾種經(jīng)典邊緣檢測算法的分析,提出了一種基于Ca
    發(fā)表于 07-05 16:50 ?15次下載

    DSP6748圖像處理算法

    DSP6748圖像處理算法-StarterWare
    發(fā)表于 05-19 15:13 ?15次下載

    基于DM642的紅外測溫與圖像處理算法研究

    基于DM642的紅外測溫與圖像處理算法研究
    發(fā)表于 02-07 21:04 ?4次下載

    有趣的圖像處理算法

    有趣的圖像處理算法 在研究的過程中,有時候會碰到很多有意思的圖像處理算法,算法極具新意,并且能夠產(chǎn)生非常有意思的結(jié)果。
    發(fā)表于 01-12 16:46 ?4627次閱讀

    機(jī)器視覺工業(yè)缺陷檢測常用的圖像處理算法

    常用的圖像處理算法: 1、圖像變換:(空域與頻域、幾何變換、色度變換、尺度變換) 幾何變換:圖像平移、旋轉(zhuǎn)、鏡像、轉(zhuǎn)置; 尺度變換:圖像縮放
    的頭像 發(fā)表于 06-15 17:59 ?7317次閱讀

    單片機(jī)車道線檢測模型(4)——圖像處理算法

    單片機(jī)車道線檢測模型(4)——圖像處理算法
    發(fā)表于 11-16 18:06 ?20次下載
    單片機(jī)車道線<b class='flag-5'>檢測</b>模型(4)——<b class='flag-5'>圖像</b><b class='flag-5'>處理算法</b>

    FPGA圖像處理算法有哪些

    算法分類很雜。于是我就想利用chatgpt幫我把圖像算法分類給我整理一下,好家伙,這一下子就捅了馬蜂窩。Chatgpt滔滔不絕,于是我就順著它,整理出了一份圖像
    的頭像 發(fā)表于 09-12 09:59 ?892次閱讀
    FPGA<b class='flag-5'>圖像</b><b class='flag-5'>處理算法</b>有哪些