我目前有一个M
包含正值和负值的大矩阵(~100x100x50 元素)。目前,如果我想平滑这个矩阵,我使用该smooth3
函数在整个 3-D 矩阵上应用高斯核。
我想要实现的是该矩阵内的可变平滑级别 - 即。根据类似的 3-D 矩阵中的值(值范围从 0 到 1),矩阵的不同部分M
被平滑到不同级别的 sigma 。d
其中d
0 表示不进行平滑处理,其中d
1 表示出现最大级别的平滑处理。
矩阵是 3-D 的事实是微不足道的。3 维平滑很好,但不是必需的,而且我当前的代码(执行各种其他操作)M
无论如何都分别处理 50 个切片中的每一个。我很高兴用高斯函数smooth3
的卷积代替,并在每个切片上单独执行此卷积。M
我不知道如何改变这个高斯函数的 sigma 水平(基于d
)给定它的位置M
并相应地输出结果。
另一种方法可能是使用矩阵d
作为一个非常平滑的矩阵版本的掩码,Ms
并以某种方式操作M
并Ms
给出等效的结果,但是我不相信这会起作用,因为我想不出一个函数来组合M
和Md
不会给出每个M
或Ms
当 0 < d
< 1 时的人工制品......有什么想法吗?
[我使用的是 2009b,只能访问信号处理工具箱。]