Canny edge dector 由 John F. Canny 在1986年提出。

  1. Canny 算法的发展
  2. Canny算法的步骤
    2.1 降噪
    2.2 寻找图像的亮度梯度
    2.3 非极大值抑制
    2.4 在图像中追踪边缘、滞后阈值法
  3. Canny边缘检测器的不同的几何公式
  4. Haralick-Canny边缘检测器

理想的边缘检测器特点:

  1. good detection
  2. good localization
  3. minimal response

Canny edge detection is a four step process.

  1. A Gaussian blur is applied to clear any speckles and free the image of
    noise.
  2. A gradient operator is applied for obtaining the gradients' intensity and
    direction.
  3. Non-maximum suppression determines if the pixel is a better candidate for
    an edge than its neighbours.
  4. Hysteresis thresholding finds where edges begin and end.

Canny边缘检测器的检测步骤

  1. 高斯滤波:去除斑点(speckles)和噪声(noise)
  2. 使用梯度算子获得梯度的值和方位角
  3. 非极大值抑制抑制确定像素点在邻域中是好的候选点
  4. 滞后阈值法去寻找边缘的起始和终止

图像降噪:采用7×7、5×5等模板的归一化的高斯核与图形进行卷积。
如5×5的高斯尺度因子为σ=1.4,1/159

图像灰度灰度化:Gray=0.299R+0.587G+0.114B

图像亮度的梯度:
分别检测水平和竖直方向的梯度Gx、Gy,然后可以求出G幅度G(勾股定理)和方位角θ(atan2)

非极大值抑制:
在梯度方向上,如果不是极大值,则过滤掉

Canny边缘检测-Wiki的更多相关文章

  1. 灰度图像--图像分割 Canny边缘检测

    学习DIP第48天 **转载请标明本文出处:http://blog.csdn.net/tonyshengtan ,出于尊重文章作者的劳动,转载请标明出处!文章代码已托管,欢迎共同开发: https:/ ...

  2. OpenCV-Python Canny边缘检测 | 十九

    目标 在本章中,我们将学习 Canny边缘检测的概念 OpenCV函数: cv.Canny() 理论 Canny Edge Detection是一种流行的边缘检测算法.它由John F. Canny发 ...

  3. Canny边缘检测

    1.Canny边缘检测基本原理      (1)图象边缘检测必须满足两个条件:一能有效地抑制噪声:二必须尽量精确确定边缘的位置.      (2)根据对信噪比与定位乘积进行测度,得到最优化逼近算子.这 ...

  4. OpenCV图像Canny边缘检测

    Canny边缘检测 图像的边缘检测的原理是检测出图像中所有灰度值变化较大的点,而且这些点连接起来就构成了若干线条,这些线条就可以称为图像的边缘函数原型:     void cvCanny(       ...

  5. OpenCV: Canny边缘检测算法原理及其VC实现详解(转载)

    原文地址:http://blog.csdn.net/likezhaobin/article/details/6892176 原文地址:http://blog.csdn.net/likezhaobin/ ...

  6. 从视频文件中读入数据-->将数据转换为灰度图-->对图像做canny边缘检测-->将这三个结构显示在一个图像中

    //从视频文件中读入数据-->将数据转换为灰度图-->对图像做canny边缘检测-->将这三个结构显示在一个图像中 //作者:sandy //时间:2015-10-10 #inclu ...

  7. [转载+原创]Emgu CV on C# (六) —— Emgu CV on Canny边缘检测

    Canny边缘检测也是一种边缘检测方法,本文介绍了Canny边缘检测的函数及其使用方法,并利用emgucv方法将轮廓检测解算的结果与原文进行比较. 图像的边缘检测的原理是检测出图像中所有灰度值变化较大 ...

  8. ###Canny边缘检测算子

    开源中国. #@date: 2014-06-20 #@author: gerui #@email: forgerui@gmail.com 一.一阶微分边缘算子 1. 一阶微分边缘检测算子也称梯度边缘算 ...

  9. openCV(四)---Canny边缘检测

    图像的边缘检测的原理是检测出图像中所有灰度值变化较大的点,而且这些点连接起来就构成了若干线条,这些线条就可以称为图像的边缘. 直接上代码,函数简介都在代码注释中 //canny边缘检测 -(void) ...

随机推荐

  1. [置顶] Java启动命令大观

    Java启动命令是所有java应用程序的入口,通过它来启动Java运行时环境,并加载相关的class.不过由于IDE的盛行,我们Java程序员中的大多数的并不是非常的了解Java启动命令.本文希望做一 ...

  2. 转:实现Java Web程序的自动登录

    有很多Web程序中第一次登录后,在一定时间内(如2个小时)再次访问同一个Web程序时就无需再次登录,而是直接进入程序的主界面(仅限于本机).实现这个功能关键就是服务端要识别客户的身份.而用Cookie ...

  3. 【机房重构】SQL之视图

    近期在重构机房收费系统,越往后就会越感觉到这里很多其它的是对之前学过知识(数据库,设计模式)的一种应用和回想.比方在登录功能中用到了抽象加反射,在学生下机中,我们能够用触发器来同一时候更新两个表.这里 ...

  4. [PWA] Keynote: Progressive Web Apps across all frameworks

    PWA: Add to home screen Angular Universal Server side rendering: for achieving better proference on ...

  5. 今天就注册上海ORACLE2用户组014在峰会酒吧!

    COLLABORATE 14 – SHOUG Forum 上海ORACLE用户组2014年高峰论坛报名本次活动由ORACLE ACS高级服务部门与 SHOUG 上海ORACLE用户组合办. 大会议程包 ...

  6. Java——(五)Collection之List集合、ArrayList和Vector实现类

    ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.List集合 List集合代表一个元素有序.客重复的集合,集合中每个元素都有其对应的顺序索引 ...

  7. 调试exynos4412—ARM嵌入式Linux—LEDS/GPIO驱动之一

    /** ****************************************************************************** * @author    暴走的小 ...

  8. Oracle 卸载 不干净

    关闭oracle相关的服务 注册表删除(可能因为oracle及windows的版本不同注册表信息也有些差异): 开始è输入regedit 打开注册表编辑器删除下面的目录 HKEY_LOCAL_MACH ...

  9. HTML5 WebAudioAPI(四)--绘制频谱图2

    绘制分析器数组所有数据.本文内容,承接上文 1.800宽度绘制 var url='../content/audio/海阔天空.mp3'; if (!window.AudioContext) { ale ...

  10. JAva Collections类方法详解

    http://blog.csdn.net/lskyne/article/details/8961014 Collections则是集合类的一个工具类/帮助类,其中提供了一系列静态方法,用于对集合中元素 ...