如何在第3维上进行高斯平滑?
我有这个侦探金字塔,票数累积在四个等级。在每个峰值处都找到对象。
我已经在2d中对每个参数进行了平滑处理,并且在我的论文中阅读到我需要使用\sigma = 1来过滤第三维,这是我以前没有尝试过的,我什至不知道这意味着什么。
我想出了如何在Matlab中执行此操作,并且在opencv/c++中需要一些类似的东西。
Matlab原始值:
Matlab用M0 = smooth3(M0,'gaussian')进行平滑处理; :
最佳答案
很久以前(在2008-2009年),我已经开发了一个小型C++模板库,以应用一些简单的转换和卷积过滤器。该库的源代码可以在Linderdaum引擎中找到-与该引擎的其余部分无关,并且不使用该引擎的任何功能。许可证是MIT,因此您可以随心所欲地使用它。
在Src/Linderdaum/Images/VolumeLib中查看Linderdaum的源代码(http://www.linderdaum.com)。*
准备内核的函数是PrepareGaussianFilter(),而MakeScalarVolumeConvolution()将应用过滤器。因为I/O是使用回调函数实现的,所以很容易使库适应不同的数据源。