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. allegro 16.6 空心焊盘的制作

    手机键盘的按键就是空心焊盘,新建一个外径为0.6mm 内径为0.4mm 的空心焊盘 空心焊盘的制作如下: 一.新建一个空心的shape 1 shape -> Cirrular 在坐标处输入 x ...

  2. Java从入门到精通——调错篇之ORACLE 打开PLSQL时提示ora-01033

    客户Oracle服务器进入PL/SQL Developer时报ora-01033:oracle initializationg or shutdown in progress 错误提示,应用系统无法连 ...

  3. Java集合的小抄

    在尽可能短的篇幅里,将所有集合与并发集合的特征.实现方式.性能捋一遍.适合所有"精通Java",其实还不那么自信的人阅读. [转自:花钱的年华] 期望能不止用于面试时,平时选择数据 ...

  4. Linux内核学习方法

    Makefile不是Make Love 从前在学校,混了四年,没有学到任何东西,每天就是逃课,上网,玩游戏,睡觉.毕业的时候,人家跟我说Makefile我完全不知,但是一说Make Love我就来劲了 ...

  5. 转字符驱动实例gpio

    概述: 字符设备驱动程序: 是按照字符设备要求完成的由操作系统调用的代码. 重点理解以下内容:  1. 驱动是写给操作系统的代码,它不是直接给用户层程序调用的,而是给系统调用的  2. 所以驱动要向系 ...

  6. Ubuntu重启网络/etc/init.d/networking restart报错

    Linux版本:Ubuntu 12.04 配置网口后重启网络,提示/etc/init.d/networking restart is deprecated. $ sudo /etc/init.d/ne ...

  7. Query classification; understanding user intent

    http://vervedevelopments.com/Blog/query-classification-understanding-user-intent.html What exactly i ...

  8. ios map 显示用户位置

    昨天遇到个奇怪的问题,用户的位置在地图中死活不显示,showUserLocation也设置了,最后发现是因为实现了 mapView protocol中的一个方法: -(MKAnnotationView ...

  9. Matlab计算两集合间的海明距离

    一.问题描述 B1[1 2 3 4 5 6 7 8 9] B2[12 13 14 21 31 41 51  1 1 81 1 1] 两个十进制矩阵,行数不一样,分别是n1和n2,列数必须一致,为nwo ...

  10. 关于在js中使用csstext的问题

    会将前边所设置的css属性全部清空,慎用!