文档章节

Canny边缘检测算子

bairui
 bairui
发布于 2014/06/20 15:01
字数 678
阅读 1452
收藏 1
#@date:			2014-06-20
#@author: 		gerui
#@email:		forgerui@gmail.com

一、一阶微分边缘算子

  1. 一阶微分边缘检测算子也称梯度边缘算子。

  2. 梯度的模值大小提供了边缘的强度信息,梯度的方向提供了边缘趋势信息,因为梯度方向始终是垂直于边缘的方向。

  3. 用有限差分进行梯度近似。

二、二阶微分边缘算子

  1. 二阶微分边缘检测算子,它是利用图像在边缘处的阶跃性导致图像二阶微分在边缘处出现零值这一特性进行检测。

  2. 二阶微分算子对噪声十分敏感。采用LOG可以减少噪声对边缘的影响。

  3. 使用高斯函数对图像进行滤波并对图像滤波结果进行二阶微分运算的过程,可以转换为先对高斯函数进行二阶微分,再利用高斯函数的二阶微分结果对图像进行卷积运算。

三、Canny边缘检测算子

  1. 三条标准:高检测率;精确的定位;明确的响应。

  2. Canny算子主要四步骤:

  1) 用高斯函数对图像进行平滑滤波。将高斯函数作成滤波模板,使用5 X 5的模板。
  2) 计算梯度值与方向角。分别求取x方向和y方向的梯度M<sub>x</sub>和M<sub>y</sub>。求梯度可以通过使用Sobel模板与图像进行卷积。归并到0, 45, 90, 135四个方向。
  3) 非最大值抑制。经过Sobel滤波后,图像中的边缘粗细不一。边缘的粗细主要取决于跨越边缘密度分布。非最大值抑制是将梯度方向上最大梯度值保留,将其他像元删除。分为0,45,90,135度四个方向分别处理,如0度方向检查(x+1, y)、(x, y)、(x-1, y);45度方向检查(x+1, y+1)、(x, y)、(x-1, y-1)...比较这三个像元大小,将较小的两个删除。   4) 滞后阈值化。由于噪声干扰,本应该连续的边缘出现断裂。滞后阈值化设定两个阈值t<sub>high</sub>,一个低阈值t<sub>low</sub>,通过如下方法计算:

    a) 如果像元(x, y)的梯度值大于t<sub>high</sub>,则标记为边缘像元;
    b) 如果像元(x, y)的梯度值小于t<sub>low</sub>,则标记为非边缘像元;
    c) 如果像元(x, y)值介于两个阈值之间,则判断及3、5邻域内是否存在梯度大于t<sub>high</sub>,如果有则标记为边缘,没有则标记为非边缘像元。

© 著作权归作者所有

上一篇: SIFT特征
下一篇: Fedora下安装Retext
bairui
粉丝 4
博文 18
码字总数 15071
作品 0
苏州
私信 提问
使用Matlab对二值图像进行轮廓提取

转自:http://blog.csdn.net/q1302182594/article/details/50394576 本文主要总结一下在matlab中可用于进行轮廓提取的函数。 1 bwperim 根据参考资料[2]的提示,可以使用bwperim()函数进行轮...

u013066730
2017/02/22
0
0
【工具语言系列】关于 MATLAB 图像分割 & 边缘检测

如何进行图像分割 图像分割 基于边缘的图像分割 微分算子 曲线拟合边缘检测 Canny边缘检测算子 轮廓跟踪 边缘形态检测 霍夫变换 多尺度轮廓提取 基于区域的图像分割 阈值化分割 特征空间聚类...

AllenMoore
2018/01/27
159
0
【OpenCV入门指南】第三篇Canny边缘检测

【OpenCV入门指南】第三篇Canny边缘检测 图像的边缘检测的原理是检测出图像中所有灰度值变化较大的点,而且这些点连接起来就构成了若干线条,这些线条就可以称为图像的边缘。 Canny边缘检测算...

长平狐
2012/12/10
719
0
Matlab图像处理-长杆在太阳下的影长度处理方法

首先来看原图像 原图像中光干扰较大,因此我们后面的处理会使用下图红框这样只有杆影的局部区域进行计算。 图像切割拆分 视频的图像帧数为25帧长度为从8:54:06到9:34:46共40min,把图像每隔3...

pulsar-v
2018/08/29
0
0
Canny算法解析,opencv源码实现及实例

-----------------Canny算法原理部分----------------- Canny边缘检测算子是John F. Canny于 1986 年开发出来的一个多级边缘检测算法。 Canny边缘检测基本原理:(1)图象边缘检测必须满足两个...

piaoxuezhong
2017/04/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

自定义ApiBoot Logging链路以及单元ID生成策略

ApiBoot Logging会为每一个请求都对应创建链路编号(TraceID)以及单元编号(SpanID),用于归类每一次请求日志,通过一个链路下日志单元的Parent SpanID可以进行上下级关系的梳理。 前文回顾...

恒宇少年
20分钟前
7
0
浅谈 Application 和 activity

对于 在 Application初始化一些变量,为什么不可以放在activity 或者其他的组件里呢? 这里就根据个人的理解来讲述一下,欢迎补充指正。 首先 activity 是以栈的形式出现,一个app应用会有多...

MrLins
20分钟前
6
0
Allegro的脚本文件内容里都有哪些

小伙伴们在使用Allegro的时候是否经常用到脚本文件夹呢?scr的用法其实可真不简单。。。 首先脚本文件的运行模式就存在很多种,比如不提示错误信息,不弹出确认对画框(这样很有利于我们执行...

demyar
21分钟前
14
0
微信升级外链管理规范,「砍一刀帮我加速」要被禁止了

原创: 蒋鸿昌 首发:「知晓程序」公众号 - 最好的微信新商业媒体 几天前,知名互联网评论人阑夕模仿皮尤研究中心(Pew Research Center)在美国做的互联网通识调查问卷,做了一份中文版问卷...

知晓云
22分钟前
12
0
CentOS 7接投影仪

我将一台安装着CentOS 7图形界面的惠普笔记本电脑当桌面使用。最近,想要连接投影仪时却遇到了问题。笔记本有一个HDMI接口。我买了一个HDMI---->VGA的转接线,连上笔记本电脑后,屏幕一直在闪...

大别阿郎
25分钟前
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部