转载  http://blog.csdn.net/tianhai110

索贝尔算子(Sobel operator)主要用作边缘检测,在技术上,它是一离散性差分算子,用来运算图像亮度函数的灰度之近似值。在图像的任何一点使用此算子,将会产生对应的灰度矢量或是其法矢量

Sobel卷积因子为:

该算子包含两组3x3的矩阵,分别为横向及纵向,将之与图像作平面卷积,即可分别得出横向及纵向的亮度差分近似值。如果以A代表原始图像,Gx及Gy分别代表经横向及纵向边缘检测的图像灰度值,其公式如下:

具体计算如下:

Gx = (-1)*f(x-1, y-1) + 0*f(x,y-1) + 1*f(x+1,y-1)

+(-2)*f(x-1,y) + 0*f(x,y)+2*f(x+1,y)

+(-1)*f(x-1,y+1) + 0*f(x,y+1) + 1*f(x+1,y+1)

= [f(x+1,y-1)+2*f(x+1,y)+f(x+1,y+1)]-[f(x-1,y-1)+2*f(x-1,y)+f(x-1,y+1)]

Gy =1* f(x-1, y-1) + 2*f(x,y-1)+ 1*f(x+1,y-1)

+0*f(x-1,y) 0*f(x,y) + 0*f(x+1,y)

+(-1)*f(x-1,y+1) + (-2)*f(x,y+1) + (-1)*f(x+1, y+1)

= [f(x-1,y-1) + 2f(x,y-1) + f(x+1,y-1)]-[f(x-1, y+1) + 2*f(x,y+1)+f(x+1,y+1)]

其中f(a,b), 表示图像(a,b)点的灰度值;

图像的每一个像素的横向及纵向灰度值通过以下公式结合,来计算该点灰度的大小:

通常,为了提高效率 使用不开平方的近似值:

如果梯度G大于某一阀值 则认为该点(x,y)为边缘点。

然后可用以下公式计算梯度方向:

Sobel算子根据像素点上下、左右邻点灰度加权差,在边缘处达到极值这一现象检测边缘。对噪声具有平滑作用,提供较为精确的边缘方向信息,边缘定位精度不够高。当对精度要求不是很高时,是一种较为常用的边缘检测方法。

附带知识:

普利维特算子(Prewitt operate)

除sobel边缘检测外 还有Prewitt算子, 它的卷积因子如下:

其他计算 和sobel差不多;

Prewitt算子利用像素点上下、左右邻点灰度差,在边缘处达到极值检测边缘。对噪声具有平滑作用,定位精度不够高。

罗伯茨交叉边缘检测(Roberts Cross operator

卷积因子如下:

灰度公式为:

近似公式为:

具体计算如下:

G(x,y)=abs(f(x,y)-f(x+1,y+1))+abs(f(x,y+1)-f(x+1,y))

灰度方向 计算公式为:

Roberts算子采用对角线方向相邻两像素之差近似梯度幅值检测边缘。检测水平和垂直边缘的效果好于斜向边缘,定位精度高,对噪声敏感

最新文章

  1. Properties操作指南
  2. 使用centos引导内核错误:kernel: pnp 00:0b: can't evaluate _CRS: 8
  3. 对list进行切片
  4. Oracle自定义函数
  5. VS2010 发布网站时文件丢失
  6. CentOS7 安装Redis 3.2.3
  7. Java [Leetcode 102]Binary Tree Level Order Traversal
  8. java基础(死循环退出选项)
  9. 捕android程序崩溃日志
  10. cdecl、pascal、stdcall、fastcall
  11. SQL中 and or优先级问题
  12. Dynamics CRM 2015-Auto Save
  13. C++中const几中用法
  14. .Net中的装箱和拆箱
  15. nginx服务器的作用与简单搭建(windows)
  16. python --- mulitprocessing(多进程)模块使用
  17. 【分布式】ZooKeeper学习之一:安装及命令行使用
  18. python学习Day2 python 、pycharm安装及环境变量配置
  19. cef研究
  20. 修改django后台用户名和密码

热门文章

  1. C# SDO_GEOMETRY
  2. Python标准库之shutil模块
  3. AntDesign(React)学习-13 Warning XX should not be prefixed with namespace XXX
  4. SQL Server 检查和处理死锁问题
  5. 在CentOS上通过Docker方式安装Redis
  6. Echart 地图实例
  7. (转)http 之session和cookie
  8. JS jQuery 点击页面漂浮出文字
  9. 查看gcc编译器版本
  10. 第四十三篇 入门机器学习——Numpy的基本操作——Fancy Indexing