在图像中,边缘可以看做是位于一阶导数较大的像素处,因此,我们可以求图像的一阶导数来确定图像的边缘,像sobel算子等一系列算子都是基于这个思想的。

但是这存在几个问题:1. 噪声的影响,在噪声点处一阶导数也会取极大值   2. 求解极大值的复杂性

所以,有了使用二阶导数的方法。这里主要考虑LoG算子,即高斯-拉普拉斯算子。

为什么要使用二阶导数呢?

这里要考虑上面说的第二个问题,一阶导数的极大值到了二阶导数对应的值就是0了,很显然求解一个函数的零点值要比求极大值容易。这个性质也被称为二阶导数过零点(zero-crossing)。

所以,我们就可以利用二阶导数来代替一阶导数了。

而对于上面的第一个问题,也就是为什么要引入高斯算子的原因。我们已经知道拉普拉斯算子其实就是一个二阶导数算子,为什么还要引入高斯呢?

细想一下,高斯算子在图像处理中的一般的作用其实大都是进行模糊,换句话说它可以很好的抑制噪声,这样引入高斯算子我们就克服了噪声的影响(这也是LoG算子对拉普拉斯算子的改进的地方)。

所以,高斯-拉普拉斯算子其实就是:先对图像进行高斯模糊,然后再求二阶导数,二阶导数等于0处对应的像素就是图像的边缘。

具体的推导过程可以看一下下面的链接:http://fourier.eng.hmc.edu/e161/lectures/gradient/node10.html

---------------------

由于高斯函数的参数sigma对高斯算子的影响,所以,如果sigma选取的很小的话,前期的模糊效果很弱,也就可以近似等于拉普拉斯算子了。所以,拉普拉斯算子也可以看做高斯-拉普拉斯算子的一种极限情况。

实验验证一下高斯-拉普拉斯算子的效果:

从结果中可以看出来当sigma取0.6时,与拉普拉斯算子的效果近似,而当sigma取1时,可以达到比较好的效果


--------------------------------------------------

我们再从图像中分析一下sigma对结果的影响,下面两图分别是sigma=0.6和sigma=1时的高斯-拉普拉斯算子的三维图(纵轴为函数值):

由图中可以看出sigma=0.6时的零点数明显要多于sigma=1时的,这也证明上面得到的结果确实是正确的。

--------------------------------------------------------

这里再多说一句,既然sigma是高斯函数的参数,那能不能从高斯函数的角度来说明一下sigma的作用呢?

当然可以!!先看下图:

我们只需要看u=0的三个图像即可,从图中可以看出,sigma越小,高斯函数的能量越集中,不知道哪里学到过:高斯函数97%的能量集中在3*sigma的范围内(以u对称的3*sigma范围内)。

那么我们现在就知道了使用高斯函数对图像进行模糊运算或者称之为卷积运算,它起作用比较明显的区域就是在距离当前像素3*sigma范围内。从此可以看出,sigma越大,高斯函数能够处理的邻域像素数越多,高斯模糊的效果也就越明显。

http://www.cnblogs.com/ztfei/archive/2012/09/01/2667050.html

http://www.cnblogs.com/ztfei/archive/2012/09/02/2667607.html 去雾

图像处理之log---log算子的更多相关文章

  1. OpenCV图像处理篇之边缘检测算子

    OpenCV图像处理篇之边缘检测算子 转载: http://xiahouzuoxin.github.io/notes/ 3种边缘检测算子 一阶导数的梯度算子 高斯拉普拉斯算子 Canny算子 Open ...

  2. O(n log log n)实现FGT和FLT(Fast GCD/LCM Transformation)

    本文是作者看不懂分治FFT之后开始娱乐一下自己写的 看到一道题时候询问了正解后,推出了一个奇怪的变换,发现这个很Transformation,我和正解推出来的奇怪的东西是一样的,但还是想写一下思路.. ...

  3. 浅谈 van Emde Boas 树——从 u 到 log log u 的蜕变

    本文参考算法导论完成. 模板题在此 QwQ 优化的过程比较长,还请读者耐心阅读,认真理解. 最初的想法 我会暴力! 用一个 \(size\) 数组维护每个元素出现的次数. 不细讲,时间复杂度 \(O( ...

  4. paper 109 :图像处理中的拉普拉斯算子

    1.基本理论 拉普拉斯算子是最简单的各向同性微分算子,具有旋转不变性.一个二维图像函数 的拉普拉斯变换是各向同性的二阶导数,定义为:   为了更适合于数字图像处理,将该方程表示为离散形式:    另外 ...

  5. Android将应用调试log信息保存在SD卡

    转载:http://blog.csdn.net/way_ping_li/article/details/8487866 把自己应用的调试信息写入到SD卡中. package com.sdmc.hote ...

  6. 【msql】关于redo 和 undo log

    InnoDB 有两块非常重要的日志,一个是undo log,另外一个是redo log,前者用来保证事务的原子性以及InnoDB的MVCC,后者用来保证事务的持久性.和大多数关系型数据库一样,Inno ...

  7. VC++ 一个简单的Log类

    在软件开发中,为程序建立Log日志是很必要的,它可以记录程序运行的状态以及出错信息,方便维护和调试. 下面实现了一个简单的Log类,使用非常简单,仅供参考. // CLogHelper.h : hea ...

  8. JFinal - Log 日志

    今天偶然发现 JFinal 的 Log 简单小巧.上代码. JFinal 在初始化的时候有初始化 Log. class Config { // ... static void configJFinal ...

  9. 自定义javascript log方法

    /** * 类似chrome,firefox的console对象 * 但是在IE等不支持console的浏览器不会报错 * 理论上浏览器支持的console的方法都支持,比如谷歌的 * assert, ...

  10. [蓝牙] 6、基于nRF51822的蓝牙心率计工程消息流Log分析(详细)

    开机初始化Log Log编号 函数名   所在文件名 000001: main ..\main.c 000002: timers_init ..\main.c 000003: gpiote_init ...

随机推荐

  1. Linux设备模型(热插拔、mdev 与 firmware)【转】

    转自:http://www.cnblogs.com/hnrainll/archive/2011/06/10/2077469.html 转自:http://blog.chinaunix.net/spac ...

  2. C# 时间戳和普通时间相互转换

    // 时间戳转为C#格式时间 private DateTime StampToDateTime(string timeStamp) { DateTime dateTimeStart = TimeZon ...

  3. hdu3452 无向树去掉最小的边集使任何叶子与根不连通 / 最小割

    思路一下就上来了,叶子向汇点连边,inf保证不会成为割,跑根到汇点最小割即可.注意无向树双向建边.基础题,分分钟1A: #include<iostream> #include<que ...

  4. 记一个react拖动排序中的坑:key

    在做一个基于react的应用的时候遇到了对列表拖动排序的需求.当使用sortable对列表添加排序支持后发现一个问题:数据正确排序了,但是dom的顺序却乱了,找了一会儿原因后发现是因为在渲染数据的时候 ...

  5. asp.net core 开发环境自定义域名及端口

    web项目上右键-> 选择属性-> 选择调试->编辑“应用url” ,再用vs启动web项目即可实现自定义url. 值得注意的是如果报“visual studio无法连接到iis e ...

  6. Codeforces Gym101063 F.Bandejao (2016 USP-ICMC)

    F.Bandejao It is lunch time on Mars! Everyone has got that big smile on their faces, all eager to se ...

  7. Ueditor 在线编辑器使用

    ueditor在线编辑器插件 地址:http://ueditor.baidu.com/website/ 试用体验: 帮助文档:http://fex.baidu.com/ueditor/   实操 引入 ...

  8. 站点部署,IIS配置优化指南

    目录 一. 二. 三. 四. 五. 六. 七.       安全性 八.       多服务器IIS集中化管理web 通常把站点发布到IIS上运行正常后,很少会去考虑IIS提供的各种参数,如何配置才是 ...

  9. dedecms跳转标签

    我们在使用织梦dedecms制作网站的时候,有时会遇到利用arclist和list标签调用redirecturl属性.但是,dedecms的arclist和list标签不支持redirecturl.很 ...

  10. Move resources allocated using unmanaged interface to managed devm interface

    转载:http://blog.csdn.net/swingboard/article/details/27207497   So today let’s talk about devm functio ...