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