Sobel算子 (转)
幻灯片1
Sobel算子
幻灯片2
一、Sobel边缘检测算子
l 在讨论边缘算子之前,首先给出一些术语的定义:
l (1)边缘:灰度或结构等信息的突变处,边缘是一个区域的结束,也是另一个区域的开始,利用该特征可以分割图像。
l (2)边缘点:图像中具有坐标[x,y],且处在强度显著变化的位置上的点。
l (3)边缘段:对应于边缘点坐标[x,y]及其方位 ,边缘的方位可能是梯度角。
幻灯片3
二、Sobel算子的基本原理
l Sobel算子是一阶导数的边缘检测算子,在算法实现过程中,通过3×3模板作为核与图像中的每个像素点做卷积和运算,然后选取合适的阈值以提取边缘。
l 采用3×3邻域可以避免在像素之间内插点上计算梯度。Sobel算子也是一种梯度幅值,即:
l 其中的偏导数Sx 和Sy可用卷积模板来实现。
幻灯片4
Sx=(Z1+2Z2+Z3)-(Z7+2Z8+Z9)
Sy=(Z1+2Z4+Z7)-(Z3+2Z6+Z9)
幻灯片5
l Sobel算子算法的优点是计算简单,速度快。但是由于只采用了2个方向的模板,只能检测水平和垂直方向的边缘,因此这种算法对于纹理较为复杂的图像,其边缘检测效果就不是很理想。该算法认为:凡灰度新值大于或等于阈值的像素点时都是边缘点。这种判断欠合理,会造成边缘点的误判,因为许多噪声点的灰度值也很大。
幻灯片6
三、模板方向的改变
幻灯片7
幻灯片8
四、Sobel算子图像边缘检测的MATLB程序实现
l >> f=imread('peppers.png');
l >> f=rgb2gray(f);
l >> f=im2double(f);
l >> figure,imshow(f),title('原始图像');
l >> [SFST Threshold] =edge(f,'sobel','horizontal');
l >> figure,imshow(SFST),title(' 水平图像边缘检测');
l >> [VSFAT Threshold]=edge(f,'sobel','vertical');
l >> figure,imshow(VSFAT),title('垂直图像边缘检测');
l >> s45=[-2 -1 0;-1 0 1;0 1 2];
l >> SFST45=imfilter(f,s45,'replicate');
l >> SFST45=SFST45>=Threshold;
l >> figure,imshow(SFST45),title('45度角图像边缘检测');
l >> s135=[0 -1 -2;1 0 -1;2 1 0];
l >> SFST135=imfilter(f,s135,'replicate');
l >> SFST135=SFST135>=Threshold;
l >> figure,imshow(SFST135),title('135度角图像边缘检测');
l >>
幻灯片9
幻灯片10
幻灯片11
幻灯片12
幻灯片13
Sobel算子 (转)的更多相关文章
- EasyPR--开发详解(3)高斯模糊、灰度化和Sobel算子
在上篇文章中我们了解了PlateLocate的过程中的所有步骤.在本篇文章中我们对前3个步骤,分别是高斯模糊.灰度化和Sobel算子进行分析. 一.高斯模糊 1.目标 对图像去噪,为边缘检测算法做准备 ...
- sobel算子的一些细节
1. 形式 Gy 上下颠倒的 (*A表示卷积图像,忽略先): 看得出来,sobel算子感觉并不统一,特别是方向,我们知道matlab的图像格式是,x轴从左到右,y轴从上到下,原点在左上角. 所以,第二 ...
- sobel算子原理及opencv源码实现
sobel算子原理及opencv源码实现 简要描述 sobel算子主要用于获得数字图像的一阶梯度,常见的应用和物理意义是边缘检测. 原理 算子使用两个33的矩阵(图1)算子使用两个33的矩阵(图1)去 ...
- sobel算子
#1,个人理解 网上查了很多资料,都说sobel算子是用来检测边缘的,分别给了两个方向上的卷积核,然后说明做法,就说这就是sobel算子.对于我个人来说,还有很多不明白的地方,所以理清下思路. #2, ...
- 彻底理解数字图像处理中的卷积-以Sobel算子为例
彻底理解数字图像处理中的卷积-以Sobel算子为例 作者:FreeBlues 修订记录 2016.08.04 初稿完成 概述 卷积在信号处理领域有极其广泛的应用, 也有严格的物理和数学定义. 本文只讨 ...
- 图像边缘检测——Sobel算子
边缘是图像最基本的特征,其在计算机视觉.图像分析等应用中起着重要的作用,这是因为图像的边缘包含了用于识别的有用信息,是图像分析和模式识别的主要特征提取手段. 1.何为“图像边缘”? 在图像中,“边缘” ...
- 【OpenCV新手教程之十二】OpenCV边缘检測:Canny算子,Sobel算子,Laplace算子,Scharr滤波器合辑
本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/25560901 作者:毛星云(浅墨) ...
- 对于Sobel算子的学习
本来想说很多目前对于 Sobel 算子的认识,但最终还是觉得对于其掌握程度太低,没有一个系统的理解,远不足以写博客,但为了12月不至于零输出,还是决定把自己学习过程中找到的相关资料进行分享. 等到一月 ...
- EasyPR源码剖析(4):车牌定位之Sobel算子定位
一.简介 sobel算子主要是用于获得数字图像的一阶梯度,常见的应用是边缘检测. Ⅰ.水平变化: 将 I 与一个奇数大小的内核进行卷积.比如,当内核大小为3时, 的计算结果为: Ⅱ.垂直变化: 将: ...
随机推荐
- Hello Hibernate
Hibernate 一个框架; 一个 Java 领域的持久化框架; 一个 ORM 框架 ORM(Object/Relation Mapping): 对象/关系映射 –ORM的思想:将关系数据库中表中的 ...
- java枚举类
enum关键字用于定义枚举类,若枚举只有一个成员, 则可以作为一种单例模式的实现方式. 枚举类对象的属性不应允许被改动, 所以应该使用 private final 修饰. 枚举类的使用 priva ...
- UITextView添加一个placeholder功能
控件UITextField有个placeholder属性,UITextField和UITextView使用方法基本类似,有两个小区别:1.UITextField单行输入,而UITextView可以多行 ...
- SharePoint 2013 Nintex Workflow 工作流帮助(十一)
博客地址 http://blog.csdn.net/foxdave 工作流动作 27. Create item in another site(Libraries and lists分组) 该操作用于 ...
- 关押罪犯(noip2010)
解法: (1)搜索(30分) (2)二分(此题属于最大值最小问题) (3)贪心+并查集 下面着重说一下“贪心+并查集” 因为有A.B两座监狱,每个犯人不是在A,就是在B监狱. 至于每个犯人在那个监狱, ...
- SVN不能提交时的处理
下面的是我的截图: EMZ3.0 qrh$ svn commit -m ""svn: E155010: Commit failed (details follow):svn: E1 ...
- JS 原型继承的几种方法
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- list.clear()和list=null的区别
以前并没有注意到list.clear()和list=null的区别,其实,区别在于 clear()方法是将list清空,但是对象的引用还在,只不过是一个表现为空引用 list=null是将list对象 ...
- Iterator之java.util.ConcurrentModificationException
在运行以下代码时,会报java.util.ConcurrentModificationException异常, public class Demo { public static void main( ...
- FragmentActivity+FragmentTabHost+Fragement instead of TabActibvity+TabHost+Activity
http://www.tuicool.com/articles/NzeMJz http://www.tuicool.com/articles/FJ7VBb FragmentTabHost切换Fragm ...