Edge Detection Kernels - LoG or DoG?

Help
Kris
2012-05-11
2013-03-27
  • Kris
    Kris
    2012-05-11

    Is there any way to perform Laplacian of Gaussians(LoG) or Difference of Gaussians(DoG) on an image using graphicsmagick? I notice reference to Laplacian in the Addnoise documentation, and I wonder if this is a similar approach to LoG, or if it's completely different.

    Here is the Imagemagick way for reference:

    http://www.imagemagick.org/Usage/convolve/#log
    http://www.imagemagick.org/Usage/convolve/#dog

     
  • As far as I am aware, these algorithms are entirely peculiar to ImageMagick.  GraphicsMagick only supports standard convolution via -convolve.  The same standard convolution algorithm is used by algorithms like -sharpen and -gaussian, which generate appropriate convolution kernels and then call the same algorithm as -convolve. If you are able to build your own useful convolution kernel, you can use it with -convolve. Various image processing texts describe convolution kernels which may be used with -convolve. Convolution is in general is already rather slow because it requires so many math computations.

    From what I have seen, the various "morphology" operations in ImageMagick are very powerful (and exotic) but also very slow and they are unlikely to become faster because they are so powerful.  I recall that at one time I was using a computer manufactured by IBM which included a tape drive.  The documentation said that the tape drive software was very powerful and therefore was very slow.  Apparently we should be lead to believe that anything which is very powerful should also be very slow (at least according to an IBM tech writer).

    They do say that patience is a virtue, but I would encourage to try different algorithms and use your own eyes to decide which results are suitable.  Don't allow a mathematician to encourage you to use a very slow algorithm (due to a notion of mathematical purity) when your eyes can not see a useful difference.