LoG(Laplacian of Gaussian)算子和DoG(Difference of Gaussian)算子是图像处理中实现极值点检测(Blob Detection)的两种方法。通过利用高斯函数卷积操作进行尺度变换,可以在不同的尺度空间检测到关键点(Key Point)或兴趣点(Interest Point),实现尺度不变性(Scale invariance)的特征点检测。

Laplacian of Gaussian(LoG)

Laplace算子通过对图像求取二阶导数的零交叉点(zero-cross)来进行边缘检测,其计算公式如下:

$$nabla ^2 f(x,y)=dfrac{partial^2 f}{partial x^2} + dfrac{partial^2 f}{partial y^2}$$

由于微分运算对噪声比较敏感,可以先对图像进行高斯平滑滤波,再使用Laplace算子进行边缘检测,以降低噪声的影响。由此便形成了用于极值点检测的LoG算子。常用的二维高斯函数如下:

$$G_sigma(x,y)=dfrac{1}{sqrt {2pi sigma ^{2}}} exp(-dfrac{x^2+y^2}{2sigma ^2})$$

原图像与高斯核函数卷积后再做laplace运算

$$Delta [G_sigma(x,y) ast f(x,y)]=[Delta G_sigma(x,y)] ast f(x,y)$$

$$LoG = Delta G_sigma(x,y)=dfrac{partial^2 G_sigma(x,y)}{partial x^2} + dfrac{partial^2 G_sigma(x,y)}{partial y^2}=dfrac{x^2+y^2-2sigma^2}{sigma^4}e^{-(x^2+y^2)/2sigma^2}$$

所以先对高斯核函数求取二阶导数,再与原图像进行卷积操作。由于高斯函数是圆对称的,因此LoG算子可以有效地实现极值点或局部极值区域的检测。

Difference of Gaussian(DoG)

DoG算子是高斯函数的差分,具体到图像中,就是将图像在不同参数下的高斯滤波结果相减,得到差分图。DoG算子的表达式如下:

$$DoG = G_{sigma_1} - G_{sigma_2}=dfrac{1}{sqrt{2pi}} [dfrac{1}{sigma_1} e^{-(x^2+y^2)/2sigma_1^2} - dfrac{1}{sigma_2} e^{-(x^2+y^2)/2sigma_2^2}]$$

如果将高斯核函数的形式表示为

$$G_sigma(x,y)=dfrac{1}{2pi sigma ^{2}} exp(-dfrac{x^2+y^2}{2sigma ^2})$$

则存在以下等式

$$dfrac{partial G}{partial sigma} = sigma nabla ^2 G$$

$$dfrac{partial G}{partial sigma} approx dfrac{G(x,y,ksigma)-G(x,y,sigma)}{ksigma-sigma}$$

因此有

$$G(x,y,ksigma)-G(x,y,sigma) approx (k-1)sigma^2 nabla ^2 G$$

其中$k-1$是个常数,不影响极值点的检测,LoG算子和DoG算子的函数波形对比如下图所示,由于高斯差分的计算更加简单,因此可用DoG算子近似替代LoG算子

边缘检测(Edge Detection)和极值点检测(Blob Detection)

LoG算子和DoG算子既可以用于检测图像边缘,也可用于检测局部极值点或极值区域,图像边缘在LoG算子下的响应情况如下图所示,二阶微分算子在边缘处为一过零点,而且过零点两边的最大值(正)和最小值(负)的差值较大。

接下来观察下图,由边缘过渡到极值点,LoG算子的响应变化

LoG算子在极值点(Blob)处的响应如下图所示:

通过定义不同尺寸的高斯核函数,可以实现在不同尺度检测Blob,如下图所示

算法流程对原图像进行LoG或者DoG卷积操作

检测卷积后图像中的过零点(边缘)或者极值点(Blob)

如果是检测边缘,则对过零点进行阈值化(过零点两边的最大值和最小值之间的差值要大于某个阈值);如果是检测极值点,则极值点的LoG或DoG响应值应该大于某个阈值。

reference

dog log 算子_图像特征之LoG算子与DoG算子相关推荐

  1. opencv roberts算子_图像之HOG特征描述算子-行人检测

    4.1 简介 本次任务将学习一种在深度学习之前非常流行的图像特征提取技术--方向梯度直方图(Histogram of Oriented Gradients),简称HOG特征.HOG特征是在2005年C ...

  2. python 图像处理 拉普拉斯算子的实现和改进-LoG和DoG算子

    拉普拉斯算子 拉普拉斯算子是最简单的各向同性微分算子,它具有旋转不变性. 我们经常把它作为边缘检测之一,也是工程数学中常用的一种积分变换,也可以用于图像增强.角点检测等等. 这里只给出它的代码,原理可 ...

  3. [Python图像处理] 十八.图像锐化与边缘检测之Scharr算子、Canny算子和LOG算子

    该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门.OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子.图像增强技术.图像分割等,后期结合深度学习研究图像识别 ...

  4. c++ log函数_高斯拉普拉斯算子(Laplacian of Gaussian, LoG)

    一.简要描述: 拉普拉斯算子是图像二阶空间导数的二维各向同性测度.拉普拉斯算子可以突出图像中强度发生快速变化的区域,因此常用在边缘检测任务当中.在进行Laplacian操作之前通常需要先用高斯平滑滤波 ...

  5. 【OpenCV图像处理入门学习教程四】基于LoG算子的图像边缘检测

    OpenCV图像处理入门学习教程系列,上一篇第三篇:基于SIFT特征和SURF特征的微旋转图像拼接与融合生成全景图像的比较 LoG边缘检测算子 LoG边缘检测算子是David Courtnay Mar ...

  6. 用拉普拉斯变换求零状态响应_高斯拉普拉斯算子(Laplacian of Gaussian, LoG)

    一.简要描述: 拉普拉斯算子是图像二阶空间导数的二维各向同性测度.拉普拉斯算子可以突出图像中强度发生快速变化的区域,因此常用在边缘检测任务当中.在进行Laplacian操作之前通常需要先用高斯平滑滤波 ...

  7. OpenCV示例学习(七):离散傅里变换(DFT)算子:getOptimalDFTSize(),copyMakeBorder(),magnitude(),log(),normalize()

    OpenCV示例学习(七):离散傅里变换(DFT)算子:getOptimalDFTSize(),copyMakeBorder(),magnitude(),log(),normalize() #incl ...

  8. 图像特征提取,LOG斑点检测

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/horseinch/article/details/50464961 斑点是数字图像的主要特征,是区域 ...

  9. mysql error log清理_手动删除mysql日志/var/log/mysql/error.log导致的mysql无法启动

    问题环境 ubuntu-mate for raspberry mysql默认配置 问题起源 最近在搞fail2ban这东西,顺便翻了翻各种日志,然后看见mysql的日志有点多就想清理一下,于是直接su ...

  10. python独立log示例_带有Python示例的math.log()方法

    python独立log示例 Python math.log()方法 (Python math.log() method) math.log() method is a library method o ...

最新文章

  1. linux下配java环境的小结
  2. 正则重温(学习笔记)
  3. medianBlur函数
  4. 微信自动关闭内置浏览器页面,返回公众号窗口 WeixinJSBridge.call('closeWindow')
  5. 能源利用率逼近理论极限 阿里巴巴展示液冷黑科技
  6. java discard方法,Java ByteBuf.discardReadBytes方法代码示例
  7. synchronized的用法介绍
  8. 我的2015plan
  9. 【Linux】修改Linux操作系统字符集与Oracle数据库一致
  10. H264--编码原理以及I帧B帧P帧--1
  11. Openlayers layer 切换底图
  12. Redis集群之Redis-Cluster实践详解
  13. Nosql初探(voldemort)
  14. 【k8s】path does not exist, ignoring“ path=“/etc/kubernetes/manifests“
  15. 要想成为一个开发组长,我个人认为要注意一下几点
  16. 在Linux系统(CentOS 8.2)腾讯云服务器下部署原神云崽机器人(Yunzai-Bot)【保姆入门级】
  17. 卸载Macfee杀毒软件之后Outlook无法加载项scanotlk.dll,outlook已经将其禁用
  18. Android 进阶 1、sqlite数据库
  19. Photoshop CC 2018 软件安装包+破解教程
  20. 次世代PBR流程美术作品

热门文章

  1. linux中用tailf实时观看tomcat日志
  2. linux安装tailf 命令
  3. HTML单选框-多选框-按钮
  4. 主力吸筹猛攻指标源码_成功率90%以上【主力吸筹+买点提示+使用方法】通达信指标公式源码...
  5. STM32官方应用笔记分类汇总
  6. 3DMAX卸载/完美解决安装失败/如何彻底卸载清除干净3DMAX各种残留注册表和文件的方法...
  7. WinDirStat – 硬盘空间都用在哪里了
  8. 在做开关电路时,三极管限流电阻该如何选择?
  9. 控制系统设计专题(三)——自抗扰控制算法(下)
  10. (5)Spring框架----Bean作用域