是否有可用于 MATLAB的imfilter的 3D 等效项?我希望将高斯滤波应用于 3D 直方图。我打算自己实现它,通过创建一个(3D)高斯滤波器,然后遍历我的直方图中的每个元素,并总结相应的数据条目。
但是,如果已经有一些东西,或者更聪明的方式来实现它,我不想自己以一种缓慢而低效的方式实现它。
是否有可用于 MATLAB的imfilter的 3D 等效项?我希望将高斯滤波应用于 3D 直方图。我打算自己实现它,通过创建一个(3D)高斯滤波器,然后遍历我的直方图中的每个元素,并总结相应的数据条目。
但是,如果已经有一些东西,或者更聪明的方式来实现它,我不想自己以一种缓慢而低效的方式实现它。
imfilter 已经可以做 3D 过滤,只要数据矩阵和你给它的过滤器是 3D 的。请参阅imfilter 页面。
imgaussfilt3
可以使用新的(从 R2015a 开始)功能来处理此任务。
基本语法如下:
B = imgaussfilt3(A,sigma)
还有许多名称-值对参数:
'FilterSize'
:高斯滤波器的大小,默认为大小的立方体2*ceil(2*sigma)+1
。'Padding'
:填充类型('replicate'
(默认)| 'circular'
| 'symmetric'
)。'FilterDomain'
:在域中执行卷积:'frequency'
或'spatial'
(默认自动)。