但是,出于好奇,Canny的边缘检测器是否值得关注?还是在Canny最好的应用领域?
在这种情况下,更快的实现并不是真正的问题。边缘检测器好坏的重点应该在于所生成边缘的质量和实用性。
另外,我真的不是在关注特定于实现的问题。我正在寻找算法固有的更多理论限制或特征。
#1 楼
根据我的经验,以下几点是限制:结果是二进制的。有时您需要测量边缘有多少才算是边缘(例如,来自Sobel振幅边缘检测器的强度图像)
参数的数量会导致无限次地调整以获得更好的结果。
您仍然需要连接生成的边缘以提取对于人眼+心灵而言似乎显而易见的完整边缘。高斯核的大小。
该方法存在拐角和结点问题:最后一个问题是通过SUSAN方法解决,该方法可以更好地连接边缘,并且还可以产生良好的连接,如链接的纸张中给出的以下示例图所示:
测试输入图像:
结果SUSAN:
结果Canny:
您可以清楚地看到SUSAN代替了Canny而不是拐角处。 r />
评论
$ \ begingroup $
好吧,您所指的主要是与实现相关的问题。我同意可能存在此类问题,但我认为还有许多其他边缘检测和其他算法。我正在寻找算法固有的更多理论限制或特征。
$ \ endgroup $
– Dipan Mehta
2012年3月14日上午10:26
$ \ begingroup $
我不同意阈值化(导致生成二进制图像),而参数是方法的一部分(如Canny的论文所述)。我不认为这是实施细节。
$ \ endgroup $
– Geerten
2012年3月14日上午10:47
$ \ begingroup $
门限由每个边缘检测器完成,因此每个边缘检测器的输出均为二进制。我会说一下调整参数和高斯平滑方面的困难,但是与LoG类型的运算符不同,Canny实际上在存在噪声的情况下找到了最佳的平滑量。
$ \ endgroup $
– Dipan Mehta
2012年3月14日上午11:15
$ \ begingroup $
并不是每个边缘检测器都进行阈值处理(例如,我的回答中提到的Sobel)。在许多情况下,这是常见且合乎逻辑的后续步骤,但不是每种边缘检测方法的基本步骤。
$ \ endgroup $
– Geerten
2012年3月14日上午11:47
#2 楼
还是在Canny最好的应用领域?
我可以想到一些:
如果需要闭合曲线,则可以保证这种曲线更好的检测器(例如零交叉) laplacian或分水岭分割)
如果您要检测在某些区域对比度较低的同质物体,则使用全局信息的分割方法(例如分水岭分割)可以提供更好的结果
br />
评论
有趣的是,此问题是分割叶脉的最佳方法吗?所需的边缘检测。显示的结果之一是Canny,看起来不太好。虽然,很多方面都可能是实现问题,而Canny显然是局限性!有什么看法吗?请查看我的答案(dsp.stackexchange.com/questions/1714/…),它显示出比他从Canny得到的结果更好的结果。
可能的(部分)欺骗:dsp.stackexchange.com/questions/74/…(或至少相关)。问题本身几乎是相同的(部分),答案与此问题的答案有些不同。
@DipanMehta:那么不应该使用Canny边缘检测器来检测不是边缘的东西吗? :)