數字圖像處理-邊緣檢測


  1. 梯度介紹

 

來自 第七節 方向導數與梯度 http://netedu.xauat.edu.cn/jpkc/netedu/jpkc/gdsx/homepage/5jxsd/51/513/5308/530807.htm    

            如何直觀形象的理解方向導數與梯度以及它們之間的關系? - 馬同學的回答 - 知乎 https://www.zhihu.com/question/36301367/answer/156102040

 

   首先介紹邊緣檢測中用到的高等數學原理---梯度。介紹梯度,離不開方向導數。

  •    方向導數

   顧名思義,方向導數就是某個方向上的導數。

   什么是方向:

                     

   函數f(x,y) 在這個方向上的圖像:

                     

   我們知道:

                  

   函數f(x,y)A 點在這個方向上也是有切線的,其切線的斜率就是方向導數:

                 

  • 梯度

   梯度:是一個矢量,它的方向上的方向導數最大,它的大小正好是此最大方向導數。

   梯度的數學定義

    

簡單總結下:

  • 方向導數是各個方向上的導數
  • 偏導數連續才有梯度存在
  • 梯度的方向是方向導數中取到最大值的方向,梯度的值是方向導數的最大值

 2. 邊緣檢測

《經典邊緣檢測算子比較》 張麗 南京信息工程大學

梯度與Roberts、Prewitt、Sobel、Lapacian算子 - CSDN博客 http://blog.csdn.net/swj110119/article/details/51777422

       圖像的邊緣是圖像最基本的特征之一。所謂邊緣(或邊沿)是指周圍像素灰度有跳躍性變化或“屋頂”變化的那些像素的集合。邊緣是圖像局部強度變化最明顯的地方,它主要存在於目標與目標、目標與背景、區域與區域之間,因此它是圖像分割依賴的重要特征。

       從本質上說,圖像邊緣是圖像局部特性不連續性(灰度突變、顏色突變、紋理結構突變等)的反應,它標志着一個區域的終結和另一個區域的開始。 
邊緣檢測是所有基於邊界分割的圖像分析方法的第一步。

       檢測出的邊緣並不等同於實際目標的真實邊緣。由於圖像數據時二維的,而實際物體是三維的,從三維到二維的投影必然會造成信息的丟失,再加上成像過程中的光照不均和噪聲等因素的影響,使得有邊緣的地方不一定能被檢測出來,而檢測出的邊緣也不一定代表實際邊緣。

       圖像的邊緣有方向和幅度兩個屬性,沿邊緣方向像素變化平緩,垂直於邊緣方向像素變化劇烈。邊緣上的這種變化可以用微分算子檢測出來,通常用一階或兩階導數來檢測邊緣。一階導數認為最大值對應邊緣位置,而二階導數則以過零點對應邊緣位置。

       圖像的梯度可以用一階導數和二階偏導數來求解。但圖像是離散的,對一幅圖像的求導相當於對一個面求導。對圖像的操作,我們采用模板對原圖像進行卷積運算,從而達到我們想要的效果。而獲取一幅圖像的梯度就轉化為:模板(Roberts、Prewitt、Sobel、Lapacian算子)對原圖像進行卷積,不過這里的模板並不是隨便設計的,而是根據數學中求導理論推導出來的。

  • Roberts算子

梯度的模為

在圖像處理中,實際我們用來表示兩個偏導數

故,梯度的模可以表示為:

因為平方和平方根需要大量的計算開銷,所以使用絕對值來近似梯度幅值: 
這里寫圖片描述 

 一般我們常用對角線方向的像元計算梯度

  • Prewitt和Sobel算子

 

在3*3模板中:這里寫圖片描述

定義水平、垂直和兩對角線方向的梯度: 
這里寫圖片描述 
該定義下的算子稱之為Prewitt算子: 
這里寫圖片描述

Sobel算子是在Prewitt算子的基礎上改進的,在中心系數上使用一個權值2,相比較Prewitt算子,Sobel模板能夠較好的抑制(平滑)噪聲。 
計算公式為:這里寫圖片描述 
Sobel算子:這里寫圖片描述

上述所有算子都是通過求一階導數來計算梯度的,用於線的檢測,在圖像處理中,通常用於邊緣檢測。在圖像處理過程中,除了檢測線,有時候也需要檢測特殊點,這就需要用二階導數進行檢測。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM