sobel和canny

Posted 牧马人夏峥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sobel和canny相关的知识,希望对你有一定的参考价值。

参考:http://www.cnblogs.com/ronny/p/4001910.html

         http://blog.csdn.net/augusdi/article/details/9028331

        sobel是梯度(一阶)算子,检测水平梯度和竖直梯度。

        canny是先高斯滤波去掉噪声,再用sobel算子检测水平和垂直梯度,再用

  非极大值抑制去掉非极大值点,最后加上一个滞后阈值化:小于某个值是不是边缘, 

  大于某值是是边缘,介于者之间则检测该值在其8个邻接点中的梯度,如果有一个值 

  超过某值,则认为是边缘。

       非极大值抑制:检查该点的梯度值在梯度方向上是否最大,不是则设为0.

     Roberts算子:Roberts算子是一种最简单的算子,是一种利用局部差分算子寻找边缘的算子,

他采用对角线方向相邻两象素之差近似梯度幅值检测边缘。检测垂直边缘的效果好于斜向边缘,

定位精度高,对噪声敏感,无法抑制噪声的影响。

    Prewitt算子是一种一阶微分算子的边缘检测,利用像素点上下、左右邻点的灰度差,

在边缘处达到极值检测边缘,去掉部分伪边缘,对噪声具有平滑作用 。其原理是在图像空间利用两个方向模板

与图像进行邻域卷积来完成的,这两个方向模板一个检测水平边缘,一个检测垂直边缘。

  Laplacian算子二阶微分算子,在只关心边缘的位置而不考虑其周围的象素灰度差值时比较合适。

 

 

  

       

以上是关于sobel和canny的主要内容,如果未能解决你的问题,请参考以下文章

sobel算子里的阈值是怎么设的

sobel和canny

OpenCV中不用库函数实现sobel算子

OpenCV图像梯度(Sobel和Scharr)

sobel算子

图像边缘检测:Canny算子、Prewitt算子和sobel算子