一、学习心得:
学习图像处理的过程中,刚开始遇到图像梯度和一些算子的概念,这两者到底是什么关系,又有什么不同,一直困扰着我。后来在看到图像分割这一模块后才恍然大悟,其实图像的梯度可以用一阶导数和二阶偏导数来求解。但是图像以矩阵的形式存储的,不能像数学理论中对直线或者曲线求导一样,对一幅图像的求导相当于对一个平面、曲面求导。对图像的操作,我们采用模板对原图像进行卷积运算,从而达到我们想要的效果。而获取一幅图像的梯度就转化为:模板(Roberts、Prewitt、Sobel、Lapacian算子)对原图像进行卷积,不过这里的模板并不是随便设计的,而是根据数学中求导理论推导出来的。下面就逐一分析各梯度算子的推导过程。
二、算子推导过程
1、知识引入:
在一维连续数集上有函数f(x),我们可以通过求导获得该函数在任一点的斜率,根据导数的定义有:

在二维连续数集上有函数f(x,y),我们也可以通过求导获得该函数在x和y分量的偏导数,根据定义有:

2、梯度和Roberts算子:
对于图像来说,是一个二维的离散型数集,通过推广二维连续型求函数偏导的方法,来求得图像的偏导数,即在(x,y)处的最大变化率,也就是这里的梯度:

梯度是一个矢量,则(x,y)处的梯度表示为:
其大小为:
因为平方和平方根需要大量的计算开销,所以使用绝对值来近似梯度幅值:

方向与α(x,y)正交:
其对应的模板为:

上面是图像的垂直和水平梯度,但我们有时候也需要对角线方向的梯度,定义如下:

对应模板为:

     上述模板就是Roberts交叉梯度算子。

2*2大小的模板在概念上很简单,但是他们对于用关于中心点对称的模板来计算边缘方向不是很有用,其最小模板大小为3*3。3*3模板考虑了中心点对段数据的性质,并携带有关于边缘方向的更多信息。

3、Prewitt和Sobel算子:
在3*3模板中:

我如下定义水平、垂直和两对角线方向的梯度:

该定义下的算子称之为Prewitt算子:

Sobel算子是在Prewitt算子的基础上改进的,在中心系数上使用一个权值2,相比较Prewitt算子,Sobel模板能够较好的抑制(平滑)噪声。
计算公式为:
Sobel算子:

上述所有算子都是通过求一阶导数来计算梯度的,用于线的检测,在图像处理中,通常用于边缘检测。在图像处理过程中,除了检测线,有时候也需要检测特殊点,这就需要用二阶导数进行检测。

4、Lapacian算子:
一阶导数:

二阶导数:

我们感兴趣的是关于点x的二阶导数,故将上式中的变量减1后,得到:

在图像处理中通过拉普拉斯模板求二阶导数,其定义如下:

对应模板为:

模板中心位置的数字是-8而不是-4,是因为要使这些系数之和为0,当遇到恒定湖对区域时,模板响应应将0。

在用lapacian算子图像进行卷积运算时,当响应的绝对值超过指定阈值时,那么该点就是被检测出来的孤立点,具体输出如下:

梯度与Roberts、Prewitt、Sobel、Lapacian算子相关推荐

  1. 图像分割-基本边缘检测roberts,prewitt,sobel,canny,laplace

    执行边缘检测的三个基本步骤: 1.为降噪对图像进行平滑处理.(导数对噪声具有敏感性.图像的正负分量检测困难) 2.边缘点的检测.(提取边缘点的潜在候选者) 3.边缘定位.(从候选者中选出真是边缘点成员 ...

  2. 梯度与边缘检测常用算子:Roberts、Prewitt、Sobel、LOG,Canny、Lapacian算子

    原文:https://blog.csdn.net/swj110119/article/details/51777422 原文:https://blog.csdn.net/gdut2015go/arti ...

  3. 图像处理中的梯度、导数如何求?(Robert算子,Sobel算子,Prewitt算子,Laplace算子)

    梯度的求法是多种多样的,根据不同的处理需要选择合适的算子(模版). 1.水平垂直差分法 2.Robert 梯度算子 3.Sobel算子               垂直方向               ...

  4. 图像算法八:【图像分割】边缘检测(Roberts,Sobel,canny)、霍夫变换(hough)、阈值分割、区域分割

    1.我们主要学习以下四种差分算子 Roberts算子 Sobel算子 Prewitt算子 canny算子 % Matlab图像边缘检测梯度算子–Roberts.Prewitt.Sobel.LOG.Ca ...

  5. OpenCV_08 边缘检测:Sobel检测算子+Laplacian算子+Canny边缘检测

    1 原理 边缘检测是图像处理和计算机视觉中的基本问题,边缘检测的目的是标识数字图像中亮度变化明显的点.图像属性中的显著变化通常反映了属性的重要事件和变化.边缘的表现形式如下图所示: 图像边缘检测大幅度 ...

  6. python+OpenCv笔记(十三):边缘检测——Sobel检测算子

    Sobel检测算子 概述: Sobel边缘检测算法比较简单,实际应用中效率比canny边缘检测效率要高,但是边缘不如Canny检测的准确,但是很多实际应用的场合,sobel边缘却是首选,Sobel算子 ...

  7. (七)图像处理中常用算子Laplacian\Sobel\Roberts\Prewitt\Kirsch

    1.拉普拉斯(Laplacian)算子 1.1基础介绍 最简单的各向同性导数算子是拉普赖斯算子,其具有旋转不变性,对于两个变量的函数f(x,y)f(x,y)f(x,y),其定义为 ▽2f=∂2f∂x2 ...

  8. 几种边缘检测算子的比较Roberts,Sobel,Prewitt,LOG,Canny

    from:https://blog.csdn.net/gdut2015go/article/details/46779251 边缘检测是图像处理和计算机视觉中的基本问题,边缘检测的目的是标识数字图像中 ...

  9. 图像边缘检测——一阶微分算子 Roberts、Sobel、Prewitt、Kirsch、Robinson

    图像为什么会有边缘? 图像边缘一般指图像的灰度变化率最大的位置.成因主要如下: 1.图像灰度在表面方向变化不连续: 2.图像中物体在空间上的深度不一致: 3.在光滑的表面上颜色不一致: 4.图像中物体 ...

最新文章

  1. Vue-Cli3.0怎么使用预渲染怎么配置prerender-spa-plugin
  2. Unet实现图像分割(四)
  3. AMD Athlon ⅡX2 240 K10 平台 超频 全记录
  4. 算法笔记--数列分块
  5. python34.dll_python34.dll下载
  6. C# 使用 ValueTasks
  7. 回文子序列_计算回文子序列的总数
  8. 用户空间与内核空间,进程上下文与中断上下文[总结]【转】
  9. html点击按钮获取列表数据传递到页面,随笔:ajax传递数组,layui父子页面传值,下来菜单赋值,父页面数据获取,表格数据替换为字符串...
  10. 3.7 Spark RDD编程
  11. 非常的好的协同过滤入门文章(ZZ)
  12. java 树什么意思是什么意思是什么意思_什么是红黑树?看完这篇你就明白了!...
  13. 沉浸式体验参加网络安全培训班,学习过程详细到底!
  14. Modelsim搭建只有driver的UVM验证平台
  15. python的turtle的正六角形简洁画法
  16. python arcgis 批量裁剪栅格文件
  17. 【技术思路】极客时间-左耳听风-开篇词1
  18. 浅谈:6sigma与Minitab_北京八方在线Minitab代理商
  19. 2011 Heilongjiang collegiate programming contest 【(7+1)/10】 [补完]
  20. Fin- SAP Concur体验报告

热门文章

  1. mysql根据学号或是姓名查询_SQL学习之MySQL SQL查询作业答案
  2. 华科尔d10设置教程_华科尔D10刷Deviation设置参数求教
  3. 如何解决Gridea部分主题不渲染Katex的问题
  4. c#打开数据库连接池的工作机制_详解数据库连接池概念、原理、运行机制等
  5. 在同一个浏览器上打开同一个网址只打开一个窗口的方法
  6. 嘻哈说:设计模式之单一职责原则
  7. 计算机类核心期刊审稿与发表周期,一般核心期刊的发刊周期有多长
  8. 程序化广告(三)- 程序化广告生态链介绍如DSP/ADX/DMP等
  9. mysql怎么求时间差
  10. 检查你的python代码是否符合PEP8规范