我正在使用scipy
做一些图像处理工作,我发现了一些令人困惑的事情,即一些功能,比如scipy.signal.convolve
,scipy.ndimage.filters.convolve
,具有相同的名称和功能,但它们属于scipy
的不同模块,所以我有点想知道为什么不一次实现它们呢?
答案 0 :(得分:1)
它们做的事情略有不同,主要与当卷积的两个数组没有完全重叠时它们如何处理卷积有关。
scipy.ndimage.filters.convolve
始终返回与第一个参数大小相同的数组。要处理边界附近的区域,第二个阵列可能与第一个阵列不完全重叠,它会使用以下选项之一来弥补这些值:reflect
,constant
,nearest
,{ {1}}或mirror
。
scipy.signal.convolve
总是根据需要使用零填充数组,并返回三个选项wrap
,full
或valid
,这些选项决定了返回的大小数组,取决于是保留还是丢弃依赖于零填充计算的值。