▍1. EDLines 快速直线检测算子
EDLines是一种快速直线检测算子,2012年在ICCV上提出,也是目前处理直线检测最快的算法之一,该算法包含三个步骤:(1)边缘提取:利用Edge Drawing (ED)算法[28,29]从灰度图像中提取边缘片段;(2)线段检测:利用最小二乘法提取直线段;(3)线段确认:遵循Helmholtz定律,从已提取的直线段中摒弃虚假线段。EDLines算法的优越性得益于Edge Drawing (ED)算法能够从灰度图像中准确、快速、稳定地提取出光滑、完整的边缘片段。Edge Drawing (ED)算法包含以下步骤: (1)采用size=5*5,σ=1的高斯核对灰度图像进行平滑滤波,去除噪声; (2)采用一种常用的梯度算子,如Prewitt、Sobel或Scharr等计算平滑后图像中每个像素点的梯度幅度和梯度方向; (3)将梯度图中邻域内幅度最大的像素点标记为锚点,这些锚点成为图像边缘点(edge elements)的概率很大; (4)将相邻的锚点连接成边缘线。从一个锚点起始,ED利用相邻像素的梯度幅度和方向在梯度为最大值的锚点之间游走。 (Edge Drawing (ED) is our recently-proposed, novel, fast edge detection algorithm. What makes ED stand out the existing edge detectors, e.g., Canny, is the following: While the other edge detectors give out a binary edge image as output, where the etected edge pixels are usually independent, discontinuous entities ED produces a set of edge segments, which are clean, contiguous, i.e., connected, chains of edge pixels. Thus, while the output of the other edge detectors requires urther processing to generate potential object boundaries, which may not even be possible or result in inaccuracies ED not only produces perfectly connected object boundaries by default, but it also achieves this in blazing speed compared to other edge detector.)