自适应 Canny 边缘检测

Posted

技术标签:

【中文标题】自适应 Canny 边缘检测【英文标题】:Adaptive Canny Edge detection 【发布时间】:2016-08-19 08:26:53 【问题描述】:

什么是,为什么它比普通的 Canny 边缘检测更好? 也是在matlab中实现的吗?

【问题讨论】:

给我们一个参考。不是经典话题。 我读到精明边缘检测和自适应精明检测之间的唯一区别是阈值是自动计算的,而不是您设置的恒定参数。是的,它是在 matlab 中实现的。 【参考方案1】:

我已经读到精明边缘检测和自适应精明检测之间的唯一区别是阈值是自动计算的,而不是您设置的恒定参数。是的,它是在 matlab 中实现的

如果您有更多详细信息,请在此处添加

【讨论】:

【参考方案2】:

我有一个使用 OpenCV 的相同实现:

使用下面的sn-p:

v = np.median(gray_image)

#---- apply automatic Canny edge detection using the computed median----
lower = int(max(0, (1.0 - sigma) * v))    #---- lower threshold
upper = int(min(255, (1.0 + sigma) * v))  #---- upper threshold
edged = cv2.Canny(gray_image, lower, upper)
cv2.imshow('Edges',edged)

那我在这里做什么?

我正在取灰度图像的中值。选择 0.33 的 sigma 值来设置阈值的下限和上限。 0.33 值通常被统计学家用于数据科学。所以这里也考虑一下。

【讨论】:

以上是关于自适应 Canny 边缘检测的主要内容,如果未能解决你的问题,请参考以下文章

Canny边缘检测算法的步骤和理解

Canny边缘检测

sobel边缘检测优缺点与canny算子的优缺点?

sobel边缘检测优缺点与canny算子的优缺点?

OpenCV入门指南第三篇Canny边缘检测

一些关于Canny边缘检测算法的改进