DOG算法,特征提取,opencv

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);


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


Laplacian(img,img_Lp,8,1); 


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

DOG算法,特征提取,opencv_第1张图片DOG算法,特征提取,opencv_第2张图片

你可能感兴趣的:(算法)