2012-09-26 262 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