到现在为止还挺好。

在现实世界中,在这里有这个小函数f(x):

它有一些东西,然后它需要一个跳跃,它在那里有更多的东西:

这就是强度作为x的函数。

如果我实际上只是通过做一个正确的差异来获取该函数的梯度。

我要做的是,应用导数算子,得到这个:

有人可能会问,边缘在哪里。

我们可以看到,这条边,哎呀,我漏了,这条边就在这里。如图:

但在这导数这个图种很混乱,很找到边缘在哪里。如图:

问题当然是我们增加了噪音。

这个噪声使得我们在各处都有正的和负的导数。

我们来看一下噪声对一些导数的影响,以及我们可以做些什么。

这里我们再次提供了更多的条纹鸭,这里我们有梯度图像:

你可以看到,当我给图像添加噪音时,我的梯度开始崩溃。

那是我开始看到这个,我有一点点高斯噪音,现在我变成了这些大椒盐噪音。

感觉像是盐和胡椒的声音,只是这些大的尖峰在我的导数中发生。

所以我们必须以某种方式处理这种噪音。

您可能知道如何处理,我们如何处理噪音?

我们过滤,我们要顺利摆脱它,我们之前做过。

这是我的图像 f,现在让我应用一个平滑内核,h。如图:

我只是想平滑一点。所以,当我平滑它的时候,我使用这个是 h 来卷积 f 。

无论你是进行卷积还是相关。H 与 f 卷积,你现在看到我得到了一个漂亮,流畅的函数:

现在,我们已经平滑了信号,我们可以采取导数,你看到的是,我们得到这个好,平滑的峰值:

那么,边缘在哪里?

边缘将在此处达到此峰值,对应于那边的边缘。

所以基本上为了找到我们的边缘,我们将不得不以某种方式基本上应用平滑渐变并寻找一些峰值。

在我们继续这样做之前,请记住关联属性和线性等的整个概念。

我们可以自己保存一个操作,因为与f卷积的h的导数与用f卷积的h的导数相同。

那么当我们进行边缘检测时,它会是什么样子?

请继续看以下内容:

所以在这里我们拥有与以前相同的 f:

现在,我取h,然后求导,现在看起来像这样:

当我将该函数直接应用于f时,我得到的值与我上次得到的值相同。Wow,你会发现神奇的地方出现了:

这必须是因为线性算子的关联属性,导数和滤波是这些线性算子。

好的,最后一个问题。我们现在有这个美好的峰值:

我们必须找到峰值。我们必须找到该导数的最大值。

我们如何找到最大值?

我们取更多的导数。

所以我们将不得不采取另一种导数。

所以现在,我们只需要做一个二阶导数,而不是只做一个导数:

在h是高斯函数之前,这是高斯函数的一阶导数。

如果我们再对它求导,就会得到这个,有时被称为倒墨西哥帽。

你会看到,当我们在2D中做的时候,对吧,因为它有点像这个草帽状的,但是上下的,对吧?

当我们将该运算符应用于图像时,我们可以通过这个强斜率得到这个漂亮的零交叉:

这就是我们的边:

这是一个强力的斜率零交叉。

我们不需要找到一般的最大值,我们只需要找到任何一个值为0的地方附近有一个强梯度。

小测验:

那么我们利用了哪些线性性质首先求核的导数然后应用它,而不需要在前两个步骤中做?

A、相关;

B、可交换;

C、区分;

D、A 和 C;

答案:D。我们采用了相关,并且区分是线性的,并且可以应用相关,

这就是允许我们采用运算符的导数并将其应用于整个图像的原因。

我们稍后会谈一谈,为什么有时这是好事。

但最简单的解释是,假设我的图像是1,000 x 1,000。

假设导数是31×31。

我可以把31乘31的导数,这个很小,然后将其应用到我的1,000乘1,000。

或者,我可以把31×31应用到1000×1000上然后对整个1000×1000求导,这比对小一点的滤波器求导的计算量要大得多。

这就是我们这样做的原因之一。


——学会编写自己的代码,才能练出真功夫。

6.边缘检测:梯度——梯度计算中滤波器的线性特性的利用_6相关推荐

  1. matlab 水文,MATLAB在水文水能计算中的应用

    第 25卷第 1期 2006年第 1期 红水河 HongShui River V01.25.No.1 No.1.20o6 MATLAB在水文水能计算中的应用 黄飞仁 ,黄汉球2,曾英先 (1.广西水电 ...

  2. 6.边缘检测:梯度——计算梯度Matlab实战_5

    目录 计算x,y梯度 梯度方向操作 计算x,y梯度 让我们仔细看看梯度方向,特别是它们如何计算和表示. % Gradient Direction >> pkg load image; &g ...

  3. 图像sobel梯度详细计算过程_数字图像处理(第十章)

    点.线.边缘检测 背景知识.书中主要介绍了图像的一阶导数与二阶导数,这个之前的文章中有过介绍这里在复习一遍.对于函数 ,对于点 在x方向的一阶偏导为: ,二阶偏导为: 之后书中总结了一阶导与二阶导对于 ...

  4. 图像sobel梯度详细计算过程_视频处理之Sobel【附源码】

    边缘检测是检测图像中的一些像素点,它们周围的像素点的灰度发生了急剧的变化,我们认为在这过程中,图像中的物体不同导致了这一变化,因此可以将这些像素点作为一个集合,可以用来标注图像中不同物体的边界.边缘区 ...

  5. pytorch梯度下降函数_Pytorch中常用的四种优化器SGD、Momentum、RMSProp、Adam

    来源:AINLPer微信公众号 编辑: ShuYini 校稿: ShuYini 时间: 2019-8-16 引言     很多人在使用pytorch的时候都会遇到优化器选择的问题,今天就给大家介绍对比 ...

  6. 关于一维和二维数据的差分和梯度的计算(使用 num.diff() 和 numpy.gradient() )

    关于一维数据的差分和梯度的计算 一维数据的差分公式: 一阶差分: 一阶前向差分:下一个值与当前值的差 f(xk)=f(xk+1)−f(xk)f(x_k) = f(x_{k+1}) - f(x_k)f( ...

  7. 【强化学习入门】梯度赌博机算法中,偏好函数更新:梯度上升公式是精确梯度上升的随机近似的证明

    本文证明强化学习入门问题:K摇臂赌博机的梯度赌博机算法中,偏好函数更新公式:Ht+1(At)=Ht(At)+α(Rt−Rt‾)(1−πt(At))H_{t+1}(A_t) = H_t(A_t) + \ ...

  8. matlab在数值计算中的应用,详解MATLAB在科学计算中的应用

    详解MATLAB在科学计算中的应用 编辑 锁定 讨论 上传视频 <详解MATLAB在科学计算中的应用>是2011年电子工业出版社出版的图书,作者是陈泽占海明. 书    名 详解MATLA ...

  9. Fast Marching算法及其在点云测地线计算中的应用

    1. 前言: 在解离散测地线问题中,Fast Marching算法被广泛使用.其最大的优点是可以直接应用于点云数据.要知道,大部分内蕴几何算法需要原始数据提供连续的网格信息,才能够被使用.Fast M ...

最新文章

  1. TCP/IP协议簇分层详解---转
  2. Linux 中的文件传输
  3. ultraos win10启动盘_UltraISO制作U盘启动安装MSDN原版Win10系统教程 - SDN系统库
  4. Bootstrap-组件-3
  5. Linux安全 chage sudo授权 selinux安全上下文 gpg加密 aide入侵检测系统 audit 审计
  6. Python之路(二)Python基础
  7. 你可以不成功,但是不能不成长-----杨澜
  8. [转载] Python字符串常用操作命令
  9. java 挂起_Java 6 JVM挂起
  10. 无网络环境下HTCVive VR设备运行环境搭建
  11. zoom在win7上安装失败
  12. rtthread学习之(2)——STM32 系列外设驱动添加指南
  13. IP错误引起MongoDB副本集初始化失败
  14. 关于UNI-APP微信小程序订阅信息订阅获取失败的问题处理
  15. Android程序员二本出身,阿里架构师经验分享
  16. STM32-ESP8266解析天气
  17. Urban NeRF
  18. nginx端口映射配置(Windows)
  19. Nginx系列1: 正向代理和反向代理、Nginx工作原理、Nginx常用命令和升级、搭建Nginx负载均衡
  20. Android Studio新建工程及测试效果

热门文章

  1. 区块链学习笔记:DAY05 如何使用公有云区块链服务
  2. sizeof 在C语言的作用,union 与sizeof的作用??
  3. HBase的Shell命令和JavaAPI
  4. 从零开始学Pytorch之数据操作
  5. 二叉树的前序、中序、后序遍历及互相求法
  6. 如何运行python代码
  7. javascript判断日期奇偶_js中判断奇数或偶数
  8. python怎么清屏_python实现清屏的方法 Python Shell中清屏一般有两种方法。
  9. c语言编程输出年月日,C语言程序设计: 输入年月日 然后输出是星期几
  10. set类型 php,常用php操作redis命令整理(四)SET类型详解