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中的高斯函数有啥区别吗?的主要内容,如果未能解决你的问题,请参考以下文章
用matlab给图像加高斯噪声和椒盐噪声(不调用imnoise函数)
sklearn 的 make_blob 和多元高斯有啥区别?