6

If I am trying to do a convolution kernel in Frequency space - what is the "do-nothing" kernel. In other words, if I view the image after applying the kernel, and normalizing it in Frequency space, I just want to see the raw Fourier transform

Is it the identity matrix? my kernel is 3x3

Thanks

Derek
  • 11,715
  • 32
  • 127
  • 228

2 Answers2

9

A do-nothing 3x3 kernel will be:

0 0 0
0 1 0
0 0 0

I hope I understood your question correctly - I'm not sure why you would want such a kernel, when it's much easier to just skip the convolution entirely.

Mark Ransom
  • 299,747
  • 42
  • 398
  • 622
  • I am trying to test some functions from the CUDA FFT libraries that do the matrix multiplication AND normalization all in one step. So assuming I ran the FFT of an image, using this kernel in your answer, my FT image should be the true image FT, as if no filter applied, right? – Derek Apr 28 '11 at 20:51
  • @Derek, right I think. I don't know what the convolution will do at the image boundaries so I can't say for sure. – Mark Ransom Apr 28 '11 at 20:53
2

The "do-nothing" convolution kernel is the delta-dirac function: "δ(x)".

The solution mark-ransom shared is just that! Any signal convolved with the delta-dirac is identical to the original signal. This applies to convolution in any n-dimension.

The delta-dirac has many other interesting properties:

  • δ can be discrete or continuous in nature
  • δ(0) = ∞
  • The laplace transform of δ(x) equals 1
  • The indefinite integral of δ(x) equals 1
  • see Wikipedia for more

Also see how to create δ convolutional neural network layer

Jacob
  • 71
  • 7