Atitit 边缘检测原理attilax总结
Atitit 边缘检测原理attilax总结
1. 边缘检测的概念1
1.1. 边缘检测的用途1
2. 边缘检测方法分类1
3. 边缘检测的基本方法2
3.1. Roberts边缘检测算子2
3.2. rewitt边缘检测算子2
3.3. sobel边缘检测算子(较为常用)2
4. Canny边缘检测(最常用)2
4.1. 参考资料4
1. 边缘检测的概念
边缘检测是图像处理与计算机视觉中极为重要的一种分析图像的方法,至少在我做图像分析与识别时,边缘是我最喜欢的图像特征。边缘检测的目的就是找到图像中亮度变化剧烈的像素点构成的集合,表现出来往往是轮廓。如果图像中边缘能够精确的测量和定位,那么,就意味着实际的物体能够被定位和测量,包括物体的面积、物体的直径、物体的形状等就能被测量。在对现实世界的图像采集中,有下面4种情况会表现在图像中时形成一个边缘。
1. 深度的不连续(物体处在不同的物平面上);
2. 表面方向的不连续(如正方体的不同的两个面);
3. 物体材料不同(这样会导致光的反射系数不同);
4. 场景中光照不同(如被树萌投向的地面
1.1. 边缘检测的用途
边缘能够精确的测量和定位,那么,就意味着实际的物体能够被定位和测量,包括物体的面积、物体的直径、物体的形状等就能被测量
2. 边缘检测方法分类
· 基于梯度的方法
· Roberts, Sobel, Prewitt
· 带方向的边缘检测
· Prewitt, Kirsch, Robinson
· 基于多次求导的方法
· 拉普拉斯算子,(高斯拉普拉斯)LoG,(高斯差分)DoG
· 多级边缘检测
· Canny算法
3. 边缘检测的基本方法
3.1. Roberts边缘检测算子
1963年,Roberts提出了这种寻找边缘的算子。Roberts边缘算子是一个2x2的模板,采用的是对角方向相邻的两个像素之差。从图像处理的实际效果来看,边缘定位较准,对噪声敏感。在Roberts检测算子中
3.2. rewitt边缘检测算子
Prewitt利用周围邻域8个点的灰度值来估计中心的梯度,它的梯度计算公式如下
3.3. sobel边缘检测算子(较为常用)
比起Prewitt算子,Sobel也是用周围8个像素来估计中心像素的梯度,但是Sobel算子认为靠近中心像素的点应该给予更高的权重,所以Sobel算子把与中心像素4邻接的像素的权重设置为2或-2
百度搜索边缘检测,canny和sobel出来。。
4. Canny边缘检测(最常用)
canny边缘检测实际上是一种一阶微分算子检测算法,但为什么这里拿出来说呢,因为它几乎是边缘检测算子中最为常用的一种,也是个人认为现在最优秀的边缘检测算子。Canny提出了边缘检测算子优劣评判的三条标准:
· 高的检测率。边缘检测算子应该只对边缘进行响应,检测算子不漏检任何边缘,也不应该将非边缘标记为边缘。
· 精确定位。检测到的边缘与实际边缘之间的距离要尽可能的小。
· 明确的响应。对每一条边缘只有一次响应,只得到一个点。
Canny边缘检测之所以优秀是因为它在一阶微分算子的基础上,增加了非最大值抑制和双阈值两项改进。利用非极大值抑制不仅可以有效地抑制多响应边缘,而且还可以提高边缘的定位精度;利用双阈值可以有效减少边缘的漏检率。
Canny边缘检测算法是1986年有John F. Canny开发出来一种基于图像梯度计算的边缘
检测算法,同时Canny本人对计算图像边缘提取学科的发展也是做出了很多的贡献。尽
管至今已经许多年过去,但是该算法仍然是图像边缘检测方法经典算法之一
Canny边缘检测主要分四步进行:
1. 去噪声;
2. 计算梯度与方向角;
3. 非最大值抑制;
4. 滞后阈值化;
其中前两步很简单,先用一个高斯滤波器对图像进行滤波,然后用Sobel水平和竖直检测子与图像卷积,来计算梯度和方向角。
二:Canny边缘检测算法
经典的Canny边缘检测算法通常都是从高斯模糊开始,到基于双阈值实现边缘连接结束
。但是在实际工程应用中,考虑到输入图像都是彩色图像,最终边缘连接之后的图像要
二值化输出显示,所以完整的Canny边缘检测算法实现步骤如下:
1. 彩色图像转换为灰度图像
2. 对图像进行高斯模糊 去噪 3. 计算图像梯度,根据梯度计算图像边缘幅值与角度
4. 非最大信号压制处理(边缘细化)
5. 双阈值边缘连接处理
6. 二值化图像输出结果
高斯模糊的目的主要为了整体降低图像噪声,目的是为了更准确计算图像梯度及边缘
计算图像X方向与Y方向梯度,根据梯度计算图像边缘幅值与角度大小 计算图像梯度可以选择算子有Robot算子、Sobel算子、Prewitt算子等
4.1. 参考资料
边缘检测 - 凌风探梅的专栏 - 博客频道 - CSDN.NET.html
图像边缘检测技术与理论发展脉络梳理大放送 - 凌风探梅的专栏 - 博客频道 - CSDN.NET.html
作者:: 绰号:老哇的爪子claw of Eagle 偶像破坏者Iconoclast image-smasher
捕鸟王"Bird Catcher 王中之王King of Kings 虔诚者Pious 宗教信仰捍卫者 Defender of the Faith. 卡拉卡拉红斗篷 Caracalla red cloak
简称:: Emir Attilax Akbar 埃米尔 阿提拉克斯 阿克巴
全名::Emir Attilax Akbar bin Mahmud bin attila bin Solomon bin adam Al Rapanui
埃米尔 阿提拉克斯 阿克巴 本 马哈茂德 本 阿提拉 本 所罗门 本亚当 阿尔 拉帕努伊
常用名:艾提拉(艾龙), EMAIL:1466519819@qq.com
头衔:uke总部o2o负责人,全球网格化项目创始人,uke宗教与文化融合事务部部长,Uke部落首席大酋长,uke制度与重大会议委员会委员长,uke保安部首席大队长,uke制度检查委员会副会长,奶牛科技cto ,uke波利尼西亚区大区连锁负责人,克尔格伦群岛区连锁负责人,莱恩群岛区连锁负责人,uke汤加王国区域负责人。布维岛和南乔治亚和南桑威奇群岛大区连锁负责人
转载请注明来源:attilax的专栏 http://blog.csdn.net/attilax
--Atiend
Atitit 边缘检测原理attilax总结相关推荐
- Atitit ftp原理与解决方案
Atitit ftp原理与解决方案 Deodeo sh shmayama ..search ftp.. 1. http和ftp都只是通信协议,就是只管传输那一块的,那为什么不能使用ftp来显示网页?? ...
- Atitit.编程语言原理---方法重载的实现与设计 调用方法的原理
Atitit.编程语言原理---方法重载的实现与设计 调用方法的原理 1. 重载包括:普通方法的重载和构造方法的重载 1 1.1. 横向重载"和"纵向重载"1 1.2. ...
- Atitit MATLAB 图像处理attilax总结
Atitit MATLAB 图像处理attilax总结 1.1. 下载 Matlab7.0官方下载_Matlab2012 v7.0 官方简体中文版-办公软件-系统大全.html1 1.2. Matla ...
- Canny边缘检测原理及C#程序实现
原文:Canny边缘检测原理及C#程序实现 Canny边缘检测是被公认的检测效果最好的边缘检测方法,是由John F. Canny于1986年提出,算法目标是找出一个最优的边缘检测的方法,所谓最优即: ...
- opencv学习笔记18:canny算子边缘检测原理及其函数使用
canny边缘检测原理 去噪:边缘检测容易受到噪声的影响,在此之间,先去噪,通常采用高斯滤波器.opencv学习笔记11:图像滤波(均值,方框,高斯,中值) 梯度:对去噪后的图像采用sobel算子计算 ...
- Atitit 软件工程概览attilax总结
Atitit 软件工程概览attilax总结 1.1. .2 软件工程的发展 进一步地,结合人类发展史和计算机世界演化史来考察软件工程的发展史. 表2 软件工程过程模型 表2将软件工程的主要过程模型做 ...
- Atitit 理解Monad attilax总结
Atitit 理解Monad attilax总结 但函数式编程最大的一个问题是,函数是一个数学抽象,在现实世界中不存在,1 那既然这样就够用了,还要 Monad 干嘛?Monad 的作用在这里就体现出 ...
- atitit.薄伽梵歌overview attilax 读后感
atitit.薄伽梵歌overview attilax 读后感 1. 唯一一本记录神而不是神的代言人或者先知言论的经典 2 2. 篇章规模,字数 3 3. 内容摘要 3 4. 主要内容 3 4.1. ...
- Atitit 路径规划法attilax总结 扫描线路法
Atitit 路径规划法attilax总结 扫描线路法 2017/2/8 20:43:37 [吐槽]深圳-小 2017/2/8 20:43:37 群主做什么的 2017/2/10 10:03:15 系 ...
- OpenCV——边缘检测原理
边缘检测原理 图像的边缘指的是图像中像素灰度值突然发生变化的区域,如果将图像的每一行像素和每一列像素都描述成一个关于灰度值的函数,那么图像的边缘对应在灰度值函数中是函数值突然变大的区域.函数值的变化趋 ...
最新文章
- springboot 启动时could not exec java_面试被问为什么使用Spring Boot?答案好像没那么简单...
- Jetson TX2 开发记录
- SAP RETAIL 事务代码RWBE查询界面上的Plant Group
- 如何在windows xp下使用ntfs权限控制
- 基于go搭建微服务实践教程 (概览)
- JavaWeb——内置对象session与httpSession对象是同一个东西么?
- Mac OS X下安装和配置Maven
- (十三)RabbitMQ使用详解
- 德云斗笑社何九华为什么没参加_狗狗的身体卡在了门上,女主人低头一看忍不住笑了:这是膨胀了...
- Axure快速原型教程02--创建页面和设置界面
- 聚划算百亿补贴上线新iPhone SE 售价2799元
- 【图像检索】基于matlab GUI综合颜色和形状特征图像检索【含Matlab源码 395期】
- 计算机网络中的www服务,计算机网络基础练习题01
- 功能强大的全新虚拟商品自动发货商城源码
- 微信扫码登录详细操作流程(微信公众平台开发)
- Linux中PATH、PYTHONPAT、sys.path小结
- delphi透明panel组件或者制作方法
- linux+ibm+was+版本,IBM WAS 9.0完整版安装参考手册
- Kafka组消费之Rebalance机制
- 优雅的二维数组循环赋值
热门文章
- 数据结构知识点总结pdf_闭关修炼31天,“啃完”346页pdf,我终于四面拿下阿里offer!...
- Java设计模式之——代理设计模式
- c#基础学习@--1--
- 为什么少有人在Windows电脑上安OS X?
- Android中设置位移动画的停止
- tomcat重启时出现:严重: Error filterStart
- 3G时代日本手机咸鱼难翻身
- Jenkins自动化UI测试Tomcat报错“The web application [/jenkins] appears to have started a thread named”解决办法...
- P2986 [USACO10MAR]伟大的奶牛聚集(思维,dp)
- OpenResty之 lua_shared_dict 指令