是否有可用於MATLAB的imfilter的三維等價物?我希望將高斯濾波應用於3D直方圖。我將自己實現它,通過創建一個(3D)高斯濾波器,然後遍歷我的直方圖中的每個元素,並總結相應的數據條目。MATLAB中的三維高斯濾波器
但是,如果已經存在某種東西或者更明智的方法,我不想自己以低速低效的方式實現它。
是否有可用於MATLAB的imfilter的三維等價物?我希望將高斯濾波應用於3D直方圖。我將自己實現它,通過創建一個(3D)高斯濾波器,然後遍歷我的直方圖中的每個元素,並總結相應的數據條目。MATLAB中的三維高斯濾波器
但是,如果已經存在某種東西或者更明智的方法,我不想自己以低速低效的方式實現它。
imfilter已經可以做3D濾波,只要數據矩陣,你給過濾器它是3D。見the imfilter page。
這個任務可以使用新的(截至R2015a)imgaussfilt3
函數來處理。
的基本語法如下:
B = imgaussfilt3(A,sigma)
還有許多name-value pair arguments:
'FilterSize'
:高斯濾波器的大小,默認爲大小2*ceil(2*sigma)+1
的立方體。'Padding'
:填充類型('replicate'
(默認)| 'circular'
| 'symmetric'
)。'FilterDomain'
:在域中執行卷積:'frequency'
或'spatial'
(默認自動)。
假設您的高斯濾波器是可分離的,那麼您應該可以應用2D濾波器,然後應用1D濾波器? – 2011-06-13 13:10:41