简单的二阶算子的边缘检测

上次说的点、线检测中用到了sobel、 Roberts、Prewitt等等都是一阶算子,拉普拉斯是二阶算子。首先说一下一阶和二阶算子的相同与不同。

无论是一阶算子还是二阶算子,本质上都是通过对于灰度突变的检测,当检测到图像的边缘时,微分算子都会对其进行响应,我们所使用的模板都是和为1的模板,这样一来在灰度相同的区域响应会为0,而边缘处时会出现不同的值。

而不同的是相比于一阶算子来说,二阶算子对于噪声更加敏感。一阶算子本来就对于噪声没有办法进行区别,反而会放大噪声,二阶算子则会在一阶算子的基础上继续放大。这会导致如果图像中存在大量噪声,一阶算子的效果会变得很差,二阶算子更差。

二阶算子:

LOG算子,简单来说就是将拉普拉斯与高斯低通滤波一起用。上文说过,噪声对于二阶算子的影响非常大,所以一般的二阶算子都要用的高斯低通滤波进行去噪处理。

步骤为:

1)对图像进行高斯低通滤波处理。

2)对1)中结果进行拉普拉斯计算找出零交叉处。

高斯滤波:G_{\sigma }=\frac{1}{2\pi \sigma }e^{-(x^{2}+y^{2})/2\sigma ^{2}}

DOG算子:

简单来说,DOG算子的原理就是将一幅图像进行两次不同参数下的高斯滤波结果的差值。

G_{\sigma } =G _{\sigma 1}-G_{\sigma 2}=(\frac{1}{\sigma 1}e^{-(x^{2}+y^{2})/2\sigma 1}-\frac{1}{\sigma 2}e^{-(x^{2}+y^{2})/2\sigma 2})

他可以说是对LOG算子的近似。在某些方面上,可以通过对两个相邻高斯尺度空间的图像相减的方式,来得到DOG算子的响应

 

你可能感兴趣的:(图像处理,图形学)