擅长:python、mysql、java
<p>Scipy多维高斯滤波器使用更大的核。默认情况下,内核半径被截断为4个sigma,在您的例子中应该有点类似于17x17过滤器。在</p>
<p>请参见<a href="https://github.com/scipy/scipy/blob/b3162e187174fa0b1462f7b243c483285b38f45e/scipy/ndimage/filters.py#L133" rel="nofollow noreferrer" title="`_gaussian_kernel1d`">^{<cd1>}</a>以了解确切的实现。它也使用了几个一维可分离的相关性,但这不会有太大的区别。在</p>
<p>另一个关键区别在于输出向量的大小和精度。从nImage docs:</p>
<p><em>中间数组存储在与输出相同的数据类型中。因此,对于精度较低的输出类型,结果可能不精确,因为中间结果的存储精度可能不够。可以通过指定更精确的输出类型来防止这种情况。</em></p>
<p>所以在您的例子中,输出精度受<code>input_signal.dtype</code>的限制。尝试对输出使用浮点输入数组或其他数组。在</p>
<p>输出大小和边缘处理有点棘手,不确定是否有办法从<code>np.convolve</code>和<code>scipy.ndimage.gaussian_filter</code>获得相同的行为</p>