Python 有没有一种方法可以将signal.fftconvolve与不同的内核数组一起使用?

Python 有没有一种方法可以将signal.fftconvolve与不同的内核数组一起使用?,python,image-processing,scipy,signals,convolution,Python,Image Processing,Scipy,Signals,Convolution,我使用python包scipy进行图像处理,特别是scipy.signal.fftconvolve(in1,in2)来模糊图像。 其中in1是图像(2dnumpy数组),in2是内核(更小的2dnumpy数组) 调用此函数时,它会遍历每个像素,并根据内核值的不同使其模糊 但是,我希望fftconvolve()接受一个内核数组,而不是单个内核。每个像素一个内核。但我还没有找到一种方法来与多个内核进行卷积 简单地说,我希望每个像素都有不同的模糊值和方向,现在我只能对其进行处理,使整个图像模糊到相同的

我使用python包scipy进行图像处理,特别是scipy.signal.fftconvolve(in1,in2)来模糊图像。 其中in1是图像(2dnumpy数组),in2是内核(更小的2dnumpy数组)

调用此函数时,它会遍历每个像素,并根据内核值的不同使其模糊

但是,我希望fftconvolve()接受一个内核数组,而不是单个内核。每个像素一个内核。但我还没有找到一种方法来与多个内核进行卷积


简单地说,我希望每个像素都有不同的模糊值和方向,现在我只能对其进行处理,使整个图像模糊到相同的值。除了fftconvolve之外,我还可以使用其他方法

每个像素处的不同内核意味着操作符不再是线性的,因此无法通过FFT实现。因此,
fftconvolve
将永远无法做这样的事情。它也是一个非常不常见的运算符,因此它可能没有标准的实现,您必须使用循环来编写自己的运算符,遍历图像的所有像素。好的,谢谢您提供的信息。然而,这让我想知道,像photoshop这样的程序是如何执行像路径模糊这样的操作的,其中每个像素必须有不同的内核值才能达到效果?他们一定使用了不同的方法,对此有什么见解吗?不确定你说的是哪个滤波器,但它必须像其他滤波器一样实现:在每个必须修改的像素上循环。每个像素上不同的内核意味着算子不再是线性的,因此无法通过FFT实现。因此,
fftconvolve
将永远无法做这样的事情。它也是一个非常不常见的运算符,因此它可能没有标准的实现,您必须使用循环来编写自己的运算符,遍历图像的所有像素。好的,谢谢您提供的信息。然而,这让我想知道,像photoshop这样的程序是如何执行像路径模糊这样的操作的,其中每个像素必须有不同的内核值才能达到效果?他们一定使用了一些不同的方法,对此有什么见解吗?不确定你说的是哪个过滤器,但它必须像其他过滤器一样实现:在每个必须修改的像素上循环。