目录
- 边缘提取
- 原理
- Laplacian、Prewitt、Sobel、Laplace算子
- Canny算法
1 边缘提取
1.1 边缘提取:什么是边缘?
- 图象的边缘是指图象局部区域亮度变化显著的部分,该区域的灰度剖面一般可以看作是一个阶跃,既从一个灰度值在很小的缓冲区域内急剧变化到另一个灰度相差较大的灰度值。
- 边缘有正负之分,就像导数有正值也有负值一样:由暗到亮为正,由亮到暗为负
- 应用:语义分割、实例分割
1.2 求边缘幅度的算法:
- 一阶导数:sobel、Roberts、prewitt等算子
- 二阶导数:Laplacian、Canny算子
Canny算子效果比其他的都要好,但是实现起来有点麻烦
梯度: 梯度的本意是一个向量(矢量),表示某一函数在该点处的方向导数沿着该方向取得最大值,即函数在该点处沿着该方向(此梯度的方向)变化最快,变化率最大(为该梯度的模)
1.3 高频信号&低频信号
- 图像中的低频信号和高频信号也叫做低频分量和高频分量。
- 简单一点说,图像中的高频分量,指的是图像强度(亮度/灰度)变化剧烈的地方,也就是边缘(轮廓);
- 图像中的低频分量,指的是图像强度(亮度/灰度)变换平缓的地方,也就是大片色块的地方。
人眼对图像中的高频信号更为敏感。
2 边缘检测的原理和步骤
2.1 步骤
- 滤波:
边缘检测的算法主要是基于图像强度的一阶和二阶导数,但导数通常对噪声很敏感,因此必须采用滤波器来改善与噪声有关的边缘检测器的性能。常见的滤波方法主要有高斯滤波。 - 增强:
增强边缘的基础是确定图像各点邻域强度的变化值。增强算法可以将图像灰度点邻域强度值有显著变化的点凸显出来。在具体编程实现时,可通过计算梯度幅值来确定。 - 检测:
经过增强的图像,往往邻域中有很多点的梯度值比较大,而在特定的应用中,这些点并不是我们要找的边缘点,所以应该采用某种方法来对这些点进行取舍。实际工程中,常用的方法是通过阈值化方法来检测。
2.2 原理
- 关于边缘检测