當前位置:編程學習大全網 - 源碼下載 - Canny邊緣檢測算法的步驟和理解

Canny邊緣檢測算法的步驟和理解

姓名:高強 學號:17011210057

嵌牛導讀:本文主要介紹Canny圖像邊緣檢測算法的步驟和對各個步驟的理解

嵌牛鼻子:邊緣檢測,Canny,步驟

嵌牛提問:canny邊緣檢測算法的步驟是怎樣?

嵌牛正文:

1. Canny邊緣檢測算法的提出和指標

Canny算法是John?Canny在1986年提出的,那年John?Canny 28歲,該文章發表在PAMI頂級期刊上(1986.IEEE Transactions on Pattern Analysis and Machine Intelligence,vol. 8, 1986 , pp 679-698? )。

Canny算子與Marr(LoG)邊緣檢測方法類似(Marr大爺號稱計算機視覺之父),也屬於是先平滑後求導數的方法。John?Canny研究了最優邊緣檢測方法所需的特性,給出了評價邊緣檢測性能優劣的三個指標:

(1)好的信噪比 ,即將非邊緣點判定為邊緣點的概率要低,將邊緣點判為非邊緣點的概率要低;

(2)高的定位性能 ,即檢測出的邊緣點要盡可能在實際邊緣的中心;

(3)對單壹邊緣僅有唯壹響應 ,即單個邊緣產生多個響應的概率要低,並且虛假響應邊緣應該得到最大抑制。

用壹句話說,就是希望在提高對景物邊緣的敏感性的同時,可以抑制噪聲的方法才是好的邊緣提取方法。

2.? Canny邊緣檢測算法的步驟 :

(1)圖像高斯濾波進行降噪處理。

(2)用壹階偏導的有限差分計算梯度的幅值和方向。

(3)對梯度幅值進行非極大值抑制。

(4)用雙閾值算法檢測和連接邊緣。

3.? Canny邊緣檢測算法的通俗理解

Canny算法的目的就是邊緣檢測,何為邊緣?圖象局部區域亮度變化顯著的部分,對於灰度圖像來說,也就是灰度值有壹個明顯變化,既從壹個灰度值在很小的緩沖區域內急劇變化到另壹個灰度相差較大的灰度值。那麽怎麽表征這種灰度值的變化呢?這裏想到的就是導數微分,導數就是表征變化率的,但是數字圖像都是離散的,也就是導數肯定會用差分來代替。也就是具體算法中的步驟2,用相鄰像素的差分來計算梯度的大小和方向。但是在真實的圖像中,壹般會有噪聲,噪聲會影響梯度的計算,所以步驟1要先濾波。理論上將圖像梯度幅值的元素值越大,說明圖像中該點的梯度值越大,但這不能說明該點就是邊緣。在Canny算法中,步驟3的非極大值抑制是進行邊緣檢測的重要步驟,通俗意義上是指尋找像素點的局部最大值,沿著梯度方向,比較它前面和後面的梯度值,若梯度值局部最大則有可能為邊緣像素,進行保留,否則就進行抑制。步驟4是壹個典型算法,有時候我們並不能壹刀切,也就是超過閾值的都是邊緣點,而是設兩個閾值,希望在高閾值和低閾值之間的點也可能是邊緣點,而且這些點最好在高閾值的附近,也就是說這些中間閾值的點是高閾值邊緣點的壹種延伸。所以步驟4用了雙閾值來進行檢測和連接邊緣。雙閾值有時也叫做滯後閾值。

  • 上一篇:hive裏判斷文件裏有沒有數據
  • 下一篇:ims phone使用的主要協議是什麽?
  • copyright 2024編程學習大全網