首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R2017a中的非对称高斯滤波

R2017a中的非对称高斯滤波
EN

Stack Overflow用户
提问于 2017-08-11 09:45:39
回答 1查看 379关注 0票数 3

我想在MATLAB中对三维数据矩阵执行非对称高斯滤波。使用imgaussfilt3,我能够对称地完成它(在所有三个维度中都是相同的模糊)。但是,我只能给出西格玛的一个值,因此过滤在所有维度上都是相同的。

在另一个线程中,我发现了分离过滤并使用横向和垂直应用它的可能性(在这种情况下,它只是2D)。遗憾的是,我无法让它发挥作用(在一个小示例矩阵中使用imgaussfilt时,我一直得到不同的结果),而fspecial的文档表明,不再推荐使用高斯模式,而是使用imgaussfilt。

提供一个例子:

代码语言:javascript
复制
matrix = rand(30,30,30);
sigma = 2;
matrix_symblur = imgaussfilt3(matrix,sigma);

我现在想要改变西格玛分别为1,2和3的方式,使得模糊效应对三维的影响是不同的。

我正在使用MATLAB R2017a。有人能帮忙吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-11 11:20:36

imgaussfilt3函数已经可以开箱即用了。根据文档,sigma可以是(强调我的)

高斯分布的sigma标准差 0.5 (默认)-数字、实、正标量或3-元素向量

因此,要使第一个维度中的1、第二个维度中的2和第三个维度中的3具有一个西格玛,您可以按如下方式调用imgaussfilt3

代码语言:javascript
复制
matrix = rand(30,30,30);
sigma = [1, 2, 3];
matrix_symblur = imgaussfilt3(matrix, sigma);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45632002

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档