2012-09-26 261 views
4

Matlab的版本:7.8.0(R2009a)Matlab的:Canny邊緣檢測器

我正在通過使用Canny邊緣檢測器使用標準'邊緣'功能從圖像邊緣。但對於我的項目,我需要獲得中等梯度幅度矩陣。即每個像素的梯度幅度值。

我知道我們可以使用imgradientxy()做到這一點,但是我需要確切的結果有什麼精明會給我不知道坎尼使用用Matlab實現。有沒有辦法做到這一點,或者我必須從頭開始實施canny?

背景:我基本上改變邊緣上的一些像素的強度值,如canny檢測到的。我需要知道,在改變之後,當使用新值計算梯度時,它們是否仍然會達到閾值?

回答

5

要在Matlab中找到Canny邊緣檢測器的實現,只需打開文件(edit edge),因爲該函數不是內置的。這樣,您可以檢查Matlab發佈中使用的過濾和漸變方案。

+0

@Andrey:謝謝。我忘了我在路徑上有自己的函數'canny'。 :) – Jonas

+0

太棒了。它解決了我的問題。我認爲邊緣函數在C語言中被編碼爲matlab庫。 非常感謝 –

+0

@MangatRai:這可能會在未來發生,但肯定老版本的Matlab有很多仍然用Matlab編寫的函數。 – Jonas