im高斯用高斯过滤器过滤1D, 2D颜色/灰度或3D图像。
它不是使用多维高斯核,而是使用高斯核可以被分离成一维核的事实。
默认情况下,代码使用IMFILTER进行过滤。此外,还包含了一个高效缓存的MEX / c-code实现。编译:"mex imgaussian.c -v"
J = IMGAUSSIAN(σ,我大小)
用sigma 1高斯核对512x512x512的图像体积进行滤波所需时间比较:
- 90.8秒:3D高斯核Imfilter
- 21.8秒:Imgaussian使用imfilter
- 8.18秒:im高斯使用MEX文件
对于小的2D图像(< 1024x1024)或大的内核(sigma 10), im高斯使用imfilter比MEX文件更快。这是因为imfilter使用了“Intel性能原语库”,而MEX文件只是普通缓存优化的c代码。
Dirk-Jan克朗(2021)。imgaussian(//www.tianjin-qmedu.com/matlabcentral/fileexchange/25397-imgaussian), MATLAB中央文件交换。检索.