gpt4 book ai didi

python - 如何在 python 中应用 2d 和 3d 过滤器

转载 作者:行者123 更新时间:2023-12-05 06:21:31 30 4
gpt4 key购买 nike

我想在 python 中找到一个应用 2d 滤镜或 3d 滤镜的函数。该函数应接收过滤函数和数据。像Matlab中的函数filter2imfilter,或者像 python 中的函数 scipy.ndimage.gaussian_filter(),它可以处理 N 维但仅适用于高斯滤波器(我希望滤波器作为参数)

我想我可以编写一个使用多维卷积 (scipy.ndimage.convolve()) 应用过滤器的函数,但我对 1d 过滤器没有成功。我用于一维过滤的代码:signal.convolve(signal, filter_, mode='same', method='auto'),它给出了与函数 signal.filtfilt(filter_, 1, signal, padlen=len(信号)-1)

是否有应用 N 维滤镜的函数?如果没有,我该如何使用卷积函数?

谢谢!

最佳答案

scipy.ndimage.generic_filter(input, function, size, footprint) 会有帮助。

这是文档 scipy.ndimage.generic_filter和用法tutorial .

您可以使用footprintsize 来设计过滤范围。例如,size = 3footprint = [[1, 1, 1], [1, 1, 1], [1, 1, 1]] 设置以当前点为核心的3*3*3数组。 function 将其作为一维数组并返回所需的标量。您可以将 function(array) 定义为您的自定义过滤器。通用过滤器将遍历 input 并默认使用 mode = 'reflect 处理边界。

关于python - 如何在 python 中应用 2d 和 3d 过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59801475/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com