DoG 、Laplacian、图像金字塔详解
DoG(Difference of Gaussian)
DoG (Difference of Gaussian)是灰度图像增强和角点检测的方法,其做法较简单,证明较复杂,具体讲解如下:
Difference of Gaussian(DOG)是高斯函数的差分。我们已经知道可以通过将图像与高斯函数进行卷积得到一幅图像的低通滤波结果,即去噪过程,这里的Gaussian和高斯低通滤波器的高斯一样,是一个函数,即为正态分布函数。

那么difference of Gaussian 即高斯函数差分是两幅高斯图像的差,
一维表示:
二维表示:
具体到图像处理来讲,就是将两幅图像在不同参数下的高斯滤波结果相减,得到DoG图。
- GaussianBlur(img,img_G0,Size(3,3),0);
- GaussianBlur(img_G0,img_G1,Size(3,3),0);
- Mat img_DoG = img_G0 - img_G1;
- 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计算:

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

ksize=1,不太明显,选择ksize>1时,比较显著。
图像金子塔
拉普拉斯金字塔与高斯金字塔是一个图像集合,集合中的所有图像都源于一幅图像,是通过连续下采样获得。
高斯金字塔是向下采样图像,而拉普拉斯金字塔是向上重建图像。
高斯金字塔
Down:降采样(OpenCV里描述成Down,注意也可以说是向上层操作)
从第i层G(i)生成第i+1层G(i+1):首先使用高斯核进行卷积,然后删除所有偶数行和偶数列,这样获得图像大小仅为上一层的1/4,然后不断迭代。
- pyrDown(img,img_Down,Size());

Up:(注意不是简单的降采样的逆操作)
从第i+1层G(i+1)生成第i层G(i):首先每一维都扩大两倍,新的行(偶数行)以0填充,然后使用指定的录波器进行卷积(实际上是在每一维都扩大两倍的滤波器:此滤波器的所有元素都被规范化为4,而不是1。因为在之前所有插入行的像素值都为0,所以这样做是合理的)去估计“丢失”的近似值,这样获得图像大小为上一层的4倍。
- 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))
- Mat lp_UpDown = img-img_Up;

from: http://blog.csdn.net/yangtrees/article/details/8309594
DoG 、Laplacian、图像金字塔详解的更多相关文章
- BMP图像数据格式详解
一.简介 BMP(Bitmap-File)图形文件是Windows采用的图形文件格式,在Windows环境下运行的所有图象处理软件都支持BMP图象文件格式.Windows系统内部各图像绘制操作都是以B ...
- javaCV开发详解之4:转流器实现(也可作为本地收流器、推流器,新增添加图片及文字水印,视频图像帧保存),实现rtsp/rtmp/本地文件转发到rtmp流媒体服务器(基于javaCV-FFMPEG)
javaCV系列文章: javacv开发详解之1:调用本机摄像头视频 javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG.j ...
- Sift中尺度空间、高斯金字塔、差分金字塔(DOG金字塔)、图像金字塔
转自:https://blog.csdn.net/dcrmg/article/details/52561656 一. 图像金字塔 图像金字塔是一种以多分辨率来解释图像的结构,通过对原始图像进行多尺度像 ...
- JPEG图像压缩算法流程详解
JPEG图像压缩算法流程详解 JPEG代表Joint Photographic Experts Group(联合图像专家小组).此团队创立于1986年,1992年发布了JPEG的标准而在1994年获得 ...
- 微信JS-SDK之图像接口开发详解
由于现在手头的项目中有一个上传证件照认证的功能(手机端),之前的思路是直接点击上传,然后直接将图片上传到服务器去,这篇文章有讲到(http://www.cnblogs.com/it-cen/p/453 ...
- 图像金字塔、高斯金字塔、差分金字塔(DOG金字塔)、尺度空间、DoG (Difference of Gaussian)角点检测
[图像金字塔] 图像金字塔是一种以多分辨率来解释图像的结构,通过对原始图像进行多尺度像素采样的方式,生成N个不同分辨率的图像.把具有最高级别分辨率的图像放在底部,以金字塔形状排列,往上是一系列像素(尺 ...
- Selector、shape详解,注意这两种图像资源都以XML方式存放在drawable不带分辨率的文件夹中
Selector.shape详解(一) Selector的结构描述: <?xml version="1.0" encoding="utf-8"?> ...
- SIFT算法详解(转)
http://blog.csdn.net/zddblog/article/details/7521424 目录(?)[-] 尺度不变特征变换匹配算法详解 Scale Invariant Feature ...
- 【转】 SIFT算法详解
尺度不变特征变换匹配算法详解Scale Invariant Feature Transform(SIFT)Just For Fun zdd zddmail@gmail.com 对于初学者,从Davi ...
随机推荐
- 查看表空间信息SQL集合
1.查看表空间的名称及大小 SELECT t.tablespace_name as "表空间名", )), ) AS "所占物理空间M" FROM dba_ta ...
- linux总线、设备和设备驱动的关系
之一:bus_type 总线是处理器和一个或多个设备之间的通道,在设备模型中,所有的设备都通过总线相连,甚至是内部的虚拟"platform"总线.可以通过ls -l /sys/bu ...
- (ACM)C++ STL 训练(第一天)
因为老师说ACM考的是纯C++,所以打算抛弃VS的VC++不用了,针对纯C++的编译器有Intel Compiler(不过要钱),MinGw(个人用的),当然还有微软的VC++ 编译器,IDE你们可以 ...
- 微软职位内部推荐-Software Development Engineer II
微软近期Open的职位: Job Title:Software Development EngineerII Division: Server & Tools Business - Comme ...
- Underscore 源码
Underscore 源码 作者:韩子迟 What? 不知不觉间,「Underscore 源码解读系列」进入了真正的尾声,也请允许我最后一次 po 下项目的原始地址 https://github.co ...
- Week1 Team Homework #2 Introduction of team member with photos
小组成员介绍 组长:黄剑锟 11061164 组员:顾泽鹏 11061160 组员:周辰光 11061154 组员:龚少波 11061167 组 ...
- 最火的.NET开源项目(转)
综合类 微软企业库 微软官方出品,是为了协助开发商解决企业级应用开发过程中所面临的一系列共性的问题, 如安全(Security).日志(Logging).数据访问(Data Access).配置管理( ...
- 活动 Activity 四种加载模式
singleTop要求如果创建intent的时候栈顶已经有要创建的Activity的实例,则将intent发送给该实例,而不发送给新的实例.(注意是栈顶,不在栈顶照样创建新实例!) singleTas ...
- javascript_22_for_js控制div每五个换一行
2. 3. css: <style type="text/css"> div{height: 50px; width: 50px; background: #f1161 ...
- 【BZOJ】【2223】【COCI 2009】PATULJCI
可持久化线段树 同BZOJ 3524,但是不要像我一样直接贴代码……TAT白白WA了一次,so sad /*********************************************** ...