我有一个处理大量2d灰度图像的程序,并且在处理每个图像(Matlab 2015b)时,目前多次使用imgaussfilt()。就运行时间而言,这证明是非常昂贵的。我有几个较大的西格马值的例子,它似乎更昂贵(即imgaussfilt(image,[1,40])... imgaussfilt(image,[10,15]))。MATLAB:二维图像的快速大西格玛平滑
有没有人知道任何更快的版本/方法高斯平滑?
我已经尝试过使用FFT/IFFT方法,但是这似乎需要比原生MATLAB imgaussfilt()功能更长的时间。
也尝试了先后在X和Y维上运行高斯平滑,但这需要比本地imgaussfilt()功能稍长一些。
不同的平滑方法也可以很好地工作,还有其他方法是否快得多? (尝试imboxfilt()...只稍快,不如)。
在此先感谢
你有没有试过用高斯内核的'imfilter'? 'imfilter'使用英特尔集成性能基元进行高效过滤。 – rayryeng
为什么需要在处理一幅图像时多次应用此滤镜?也许你可以在一开始就使用它只有一次适当的大小 –
@rayryeng我试着imfilter与高斯内核 - 是相当快,但仍然比imgaussfilt() – user3470496