title: Gaussian derivative kernel for edge detection algorithm
body: <p>I'm having a look to a marker detection algorithms and reading <a href="https://infi.nl/nieuws/marker-detection-for-augmented-reality-applications/" rel="nofollow noreferrer">this</a> they are using an one one-dimensional derivative of Gaussian kernel to get the gradient. They've got divided the screen in a small scan lines 5 pixels apart and then they operate the kernel in horizontal and vertical direction to compute the gradient, I'm wonder how it's done that, i.e:</p>
  
  <p>The operation they've got is:</p>
  
  <pre><code>[ -3 -5 0 5 3] * A
  </code></pre>
  
  <p>I assume it is a horizontal derivative?</p>
  
  <p>So what about the vertical one, is just matter of multiplying by the transpose like this?:</p>
  
  <pre><code>A * ([ -3 -5 0 5 3]^T)
  </code></pre>
  
  <p>For another side to compute the gradient direction they use the 3x3 Sobel kernels, but the scan line is 5x5, anyone know how is it done?</p>