第7章边沿检测与提取,轮廓跟踪 我们在第三章介绍平滑与锐化时引入了模板操作,今天还要用到它 71边沿检测 001255254254254 111254253254254 000255255253253 我们给出一个模板[10.1]和幅图象[11025424254254」。不难发 现原图中左边暗,右边亮,中间存在着一条明显的边界。进行模板操作后的结果如下: 「x1255253-10 2532520 x0255255-2-2x x-125325400x 可以看出,第3、4列比其他列的灰度值高很多,人眼观察时,就能发现一条很明显的亮边, 其它区域都很暗,这样就起到了边沿检测的作用 为什么会这样呢?仔细看看那个模板就明白了,它的意思是将右邻点的灰度值减左邻点的灰 度值作为该点的灰度值。在灰度相近的区域内,这么做的结果使得该点的灰度值接近于0; 而在边界附近,灰度值有明显的跳变,这么做的结果使得该点的灰度值很大,这样就出现了 上面的结果。 这种模板就是一种边沿检测器,它在数学上的涵义是一种基于梯度的滤波器,又称边沿算子, 你没有必要知道梯度的确切涵义,只要有这个概念就可以了。梯度是有方向的,和边沿的方 向总是正交(垂直)的,例如,对于上面那幅图象的转置图象,边是水平方向的,我们可以用 梯度是垂直方向的模板L]检测它的边沿 10 例如,一个梯度为45度方向模板01,可以检测出135度方向的边沿。 1.Sobl算子第 7 章 边沿检测与提取,轮廓跟踪 我们在第三章介绍平滑与锐化时引入了模板操作,今天还要用到它。 7.1 边沿检测 我们给出一个模板 和一幅图象 。不难发 现原图中左边暗,右边亮,中间存在着一条明显的边界。进行模板操作后的结果如下: 。 可以看出,第 3、4 列比其他列的灰度值高很多,人眼观察时,就能发现一条很明显的亮边, 其它区域都很暗,这样就起到了边沿检测的作用。 为什么会这样呢?仔细看看那个模板就明白了,它的意思是将右邻点的灰度值减左邻点的灰 度值作为该点的灰度值。在灰度相近的区域内,这么做的结果使得该点的灰度值接近于 0; 而在边界附近,灰度值有明显的跳变,这么做的结果使得该点的灰度值很大,这样就出现了 上面的结果。 这种模板就是一种边沿检测器,它在数学上的涵义是一种基于梯度的滤波器,又称边沿算子, 你没有必要知道梯度的确切涵义,只要有这个概念就可以了。梯度是有方向的,和边沿的方 向总是正交(垂直)的,例如,对于上面那幅图象的转置图象,边是水平方向的,我们可以用 梯度是垂直方向的模板 检测它的边沿。 例如,一个梯度为 45 度方向模板 ,可以检测出 135 度方向的边沿。 1. Sobel 算子