三天不练手生,一月不看傻眼。
欢迎关注,敬请点赞!
opencv边缘检测——乘风破浪的姐姐
原理
Canny边缘检测是一种非常流行的边缘检测算法,是John F.Canny在1986年提出的。它是一个由很多步构成的算法,我们接下来会逐步介绍:
(1) 噪声去除
由于边缘检测很容易受到噪声影响,所以第一步是使用5x5的高斯滤波器去除噪声。
(2) 计算图像梯度
对平滑后的图像使用 Sobel 算子,计算水平方向和竖直方向的一阶导数(图像梯度)。根据得到的这两幅梯度图(Gx和Gy)找到边界的梯度和方向,公式如下:
E d g e − G r a d i e n t ( G ) = G x 2 + G y 2 — — 岭 回 归 ( L 2 范 数 ) A n g l e ( θ ) = tan − 1 ( G x G y ) Edge-Gradient(G) = \sqrt{G_x^2 + G_y^2}\ \ ——岭回归(L2范数)\\ Angle(\theta) = \tan^{-1}(\frac{G_x}{G_y}) Edge−Gradient(G)=G<