DOG算子

来源:互联网 发布:根域名 cname www 编辑:程序博客网 时间:2024/04/30 22:35

背景简述

Difference of Gaussian(DOG)是高斯函数的差分。它是可以通过将图像与高斯函数进行卷积得到一幅图像的低通滤波结果,即去噪过程,这里的Gaussian和高斯低通滤波器的高斯一样,是一个函数,即为正态分布函数。同时,它对高斯拉普拉斯LoG(博文LOG算子介绍了实现原理)的近似,在某一尺度上的特征检测可以通过对两个相邻高斯尺度空间的图像相减,得到DoG的响应值图像

基本理论

首先,高斯函数表示定义为:

其次,两幅图像的高斯滤波表示为:

最后,将上面滤波得到的两幅图像g1和g2相减得到:

即:可以DOG表示为:


在具体图像处理中,就是将两幅图像在不同参数下的高斯滤波结果相减,得到DoG图。具体步骤如下所示:

第一步,计算不同参数下的DOG

在图1,图2,图3,三种图像给了不同参数下的高斯滤波输出的效果,如下图所示:

图1:一个高斯平滑参数为0.3,另一个高斯平滑参数为0.4

图2:一个高斯平滑参数为0.6,另一个高斯平滑参数为0.7

图3 :一个高斯平滑参数为0.7,另一个高斯平滑参数为0.8

第二步,根据DOG,求角点。

根据理论三维图中的最大值和最小值点是角点,如图所示(此图片来源于自网络):


标记红色当前像素点,绿色的圈标记邻接像素点,用这个方式,最多检测相邻尺度的26个像素点。如果它是所有邻接像素点的最大值或最小值点,则标记红色被标记为特征点,如此依次进行,则可以完成图像的特征点提取。

因此在第一步后,我们可以计算出的图1,图2,图3三个DOG图中求图2中是极值的点,如下图所示:

图5:黑色为极小值,白色为极大值

因此,原始图像上以显示的DOG角点检测结果,如下图所示:


参考资料

[1] Difference of Gaussian(DOG) http://fourier.eng.hmc.edu/e161/lectures/gradient/node10.html.

[2] Difference of Gaussian From Wikipedia, the free encyclopedia.

[3] Rafael C.Gonzalez, Rechard E.Woods at. el , "Digital Image Processing Using MatLab (Second Editon)",Gatesamark Publishing.


关于Image Engineering & Computer Vision的更多讨论与交流,敬请关注本博和新浪微博songzi_tea.


原创粉丝点击