DoG(Difference of Gaussian)

DoG (Difference of Gaussian)是灰度图像增强和角点检测的方法,其做法较简单,证明较复杂,具体讲解如下:

Difference of Gaussian(DOG)是高斯函数的差分。我们已经知道可以通过将图像与高斯函数进行卷积得到一幅图像的低通滤波结果,即去噪过程,这里的Gaussian和高斯低通滤波器的高斯一样,是一个函数,即为正态分布函数。

那么difference of Gaussian 即高斯函数差分是两幅高斯图像的差,

一维表示:

二维表示:

具体到图像处理来讲,就是将两幅图像在不同参数下的高斯滤波结果相减,得到DoG图。

  1. GaussianBlur(img,img_G0,Size(3,3),0);
  2. GaussianBlur(img_G0,img_G1,Size(3,3),0);
  3. Mat img_DoG = img_G0 - img_G1;
  4. normalize(img_DoG,img_DoG,255,0,CV_MINMAX);

Laplacian图像

计算图像的拉普拉斯是通过Sobel操作计算图像在x和y方向的二阶偏导数的和:

voidLaplacian(InputArray src, OutputArray dst, int ddepth, int ksize=1, double scale=1, double delta=0, int borderType=BORDER_DEFAULT)

ksize>1使用上述偏导公式计算. 当ksize==1 , 拉普拉斯图像通过如下 aperture计算:

  1. Laplacian(img,img_Lp,8,1);

ksize=1,不太明显,选择ksize>1时,比较显著。

图像金子塔

拉普拉斯金字塔与高斯金字塔是一个图像集合,集合中的所有图像都源于一幅图像,是通过连续下采样获得。

高斯金字塔是向下采样图像,而拉普拉斯金字塔是向上重建图像。

高斯金字塔

Down:降采样(OpenCV里描述成Down,注意也可以说是向上层操作)

从第i层G(i)生成第i+1层G(i+1):首先使用高斯核进行卷积,然后删除所有偶数行和偶数列,这样获得图像大小仅为上一层的1/4,然后不断迭代。

  1. pyrDown(img,img_Down,Size());

Up:(注意不是简单的降采样的逆操作)

从第i+1层G(i+1)生成第i层G(i):首先每一维都扩大两倍,新的行(偶数行)以0填充,然后使用指定的录波器进行卷积(实际上是在每一维都扩大两倍的滤波器:此滤波器的所有元素都被规范化为4,而不是1。因为在之前所有插入行的像素值都为0,所以这样做是合理的)去估计“丢失”的近似值,这样获得图像大小为上一层的4倍。

  1. pyrUp(img_Down,img_Up,Size());

Laplacian金字塔

高斯金字塔丢失的数据形成了拉普拉斯金子塔,数学公式如下:

L(i)=G(i) - UP(G(i+1))*G(5x5)

OpenCV可以使用:

L(i)=G(i) - PyrUp(G(i+1))

  1. Mat lp_UpDown = img-img_Up;

from: http://blog.csdn.net/yangtrees/article/details/8309594

DoG 、Laplacian、图像金字塔详解的更多相关文章

  1. BMP图像数据格式详解

    一.简介 BMP(Bitmap-File)图形文件是Windows采用的图形文件格式,在Windows环境下运行的所有图象处理软件都支持BMP图象文件格式.Windows系统内部各图像绘制操作都是以B ...

  2. javaCV开发详解之4:转流器实现(也可作为本地收流器、推流器,新增添加图片及文字水印,视频图像帧保存),实现rtsp/rtmp/本地文件转发到rtmp流媒体服务器(基于javaCV-FFMPEG)

    javaCV系列文章: javacv开发详解之1:调用本机摄像头视频 javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG.j ...

  3. Sift中尺度空间、高斯金字塔、差分金字塔(DOG金字塔)、图像金字塔

    转自:https://blog.csdn.net/dcrmg/article/details/52561656 一. 图像金字塔 图像金字塔是一种以多分辨率来解释图像的结构,通过对原始图像进行多尺度像 ...

  4. JPEG图像压缩算法流程详解

    JPEG图像压缩算法流程详解 JPEG代表Joint Photographic Experts Group(联合图像专家小组).此团队创立于1986年,1992年发布了JPEG的标准而在1994年获得 ...

  5. 微信JS-SDK之图像接口开发详解

    由于现在手头的项目中有一个上传证件照认证的功能(手机端),之前的思路是直接点击上传,然后直接将图片上传到服务器去,这篇文章有讲到(http://www.cnblogs.com/it-cen/p/453 ...

  6. 图像金字塔、高斯金字塔、差分金字塔(DOG金字塔)、尺度空间、DoG (Difference of Gaussian)角点检测

    [图像金字塔] 图像金字塔是一种以多分辨率来解释图像的结构,通过对原始图像进行多尺度像素采样的方式,生成N个不同分辨率的图像.把具有最高级别分辨率的图像放在底部,以金字塔形状排列,往上是一系列像素(尺 ...

  7. Selector、shape详解,注意这两种图像资源都以XML方式存放在drawable不带分辨率的文件夹中

    Selector.shape详解(一) Selector的结构描述: <?xml version="1.0" encoding="utf-8"?> ...

  8. SIFT算法详解(转)

    http://blog.csdn.net/zddblog/article/details/7521424 目录(?)[-] 尺度不变特征变换匹配算法详解 Scale Invariant Feature ...

  9. 【转】 SIFT算法详解

    尺度不变特征变换匹配算法详解Scale Invariant Feature Transform(SIFT)Just For Fun zdd  zddmail@gmail.com 对于初学者,从Davi ...

随机推荐

  1. Running Central Admin on Multiple Servers within a Farm

    http://sharepoint.microsoft.com/blogs/fromthefield/Lists/Posts/Post.aspx?ID=60

  2. sharepoint 认证

    MCPD http://www.microsoft.com/learning/en/us/mcpd-certification.aspx#fbid=YktyKIYXeFg Exam 70-573: T ...

  3. NodeJS从零开始——NPM的使用

    NPM是一个Node包管理和分发工具,已经成为了非官方的发布Node模块(包)的标准.有了NPM,可以很快的找到特定服务要使用的包,进行下载.安装以及管理已经安装的包. NPM常用的命令有: (1)$ ...

  4. 升级iOS10之后调用摄像头/麦克风等硬件程序崩溃闪退的问题

    在升级到iOS10之后, 开发过程中难免会遇到很多的坑, 下面是一些常见的坑, 我做了一些整理, 希望对大家开发有帮助: &1. 调用视频,摄像头, 麦克风,等硬件程序崩溃闪退的问题: 要注意 ...

  5. sqlserver oracle 时间加减

    sqlserver: 减去10小时: dateadd(hour,-10,Your_date) oracle : 减去10小时: sysdate()-10/24

  6. Html特殊字符转义处理

    #region 将Html特殊字符转义处理        /// <summary>        /// 将Html特殊字符转义处理        /// </summary> ...

  7. websphere变成英文了怎么变回中文

    今天进来发现,websphere在浏览器里面居然是英文的.这是因为我的浏览器少了一个中文语言设置,其实和页面编码无关. 解决办法: IE浏览器右键属性 -- internet选项 --  常规 -- ...

  8. UVALive 6525

    二分图最大匹配 #include<cstdio> #include<iostream> #include<cstring> #define MAX 10010 us ...

  9. Unity3D IOS IPhone添加Admob的方法

    原地址:http://dong2008hong.blog.163.com/blog/static/4696882720140403119293/ 首先阅读官方文档https://developers. ...

  10. Eclipse下如何导入jar包

    原地址:http://blog.csdn.net/justinavril/article/details/2783182 我们在用Eclipse开发程序的时候,经常想要用到第三方的jar包.这时候我们 ...