【发布时间】:2016-08-23 22:46:38
【问题描述】:
假设,我有一个大小为512x256 的图像。如果我将其转换为二维复数数组以应用 FFT,则数组的大小仍为 512x256。现在,如果我的内核大小是10x10,并且如果我将它转换为二维复数数组,它的大小仍然是10x10。不是这样吗?
如果是这样,我们为什么不创建一个大小为512x256 的内核并直接对图像进行卷积(而不是创建一个大小为10x10 的内核并填充它)?
假设,我有一个大小为512x256 像素的图像。
如果,输出会有什么不同,
- 我准备了一个大小为
512x256的内核并对图像进行卷积? - 我准备了一个大小为
256x256的内核,填充它以使其成为512x256,然后对图像进行卷积? - 我准备了一个大小为
256x256的内核,填充它使其大小为(512+256)X(256+256),填充图像使其大小相同,然后对它们进行卷积?
【问题讨论】:
-
如果你只是用零填充内核,应该没有任何区别。所以不要那样做。但是我有点担心你认为图像卷积核与要处理的图像的大小有关。通常的内核非常小,例如 10x10 左右。您是在谈论使用矩阵的卷积吗?
-
But I am a bit worried that you think a image convolution kernel is related in size to the image to be processed.--- 假设,我有一个大小为512x256的图像。如果我将该图像转换为二维复数数组以应用 FFT,则数组的大小仍为512x256。现在,如果我的内核大小是10x10,并且如果我将它转换为二维复数数组,它的大小仍然是10x10。不是这样吗?如果是这样,我怎样才能将它们相互卷积?在这种情况下,我想,我需要填充内核或两者。我说的对吗? -
啊,对不起,我对这里的术语感到困惑。我对基于 fft 的卷积没有任何有用的帮助。也许这可以帮助:stackoverflow.com/questions/14328502/filtering-image-with-fft
标签: image-processing kernel filtering mask