Matlab中的高斯函数有啥区别吗?

Posted

技术标签:

【中文标题】Matlab中的高斯函数有啥区别吗?【英文标题】:Is there any Difference of Gaussians function in Matlab?Matlab中的高斯函数有什么区别吗? 【发布时间】:2013-12-02 03:44:12 【问题描述】:

我是图像处理的新手,在我的实验中我遇到了高斯差。给了我各种实现,但我不理解它们和它们的参数。

Here are my formulas

我应该自己实现这个过滤,还是有为此定义的现有函数?当然,所有参数都像链接中一样。我将需要使用参数并生成不同的图像。

【问题讨论】:

【参考方案1】:

您可以使用两个不同的标准对图像进行两次高斯过滤。开发。并减去它们,与使用组合过滤器相同。

k = 10;
sigma1 =  0.5;
sigma2 = sigma1*k;

hsize = [3,3];

h1 = fspecial('gaussian', hsize, sigma1);
h2 = fspecial('gaussian', hsize, sigma2);

gauss1 = imfilter(img,h1,'replicate');
gauss2 = imfilter(img,h2,'replicate');

dogImg = gauss1 - gauss2;

【讨论】:

您的代码中有错字。您定义了两个不同的 h1,但第二个应该是 h2。 为了与 D.G. 的高斯差分方法保持一致。 Lowe(Scale-Invariant Features Transform 或 SIFT 的鼻祖),最后一行应该是dogImg = gauss2 - gauss1;

以上是关于Matlab中的高斯函数有啥区别吗?的主要内容,如果未能解决你的问题,请参考以下文章

加权 Lucas Kanade - 高斯函数 MATLAB

matlab中各种高斯相关函数

用matlab给图像加高斯噪声和椒盐噪声(不调用imnoise函数)

sklearn 的 make_blob 和多元高斯有啥区别?

滤波时根据高斯函数的形状来选择权值。采用3×3,5×5的高斯模板,实现对含高斯噪声的图像进行平滑处理?

怎么用MATLAB产生2维或者多维的高斯分布数据