: > In case I'm asked, what, precisely, does "convert" use
: > for sharpening?
: 
: The SharpenImage() method says:
: 
: %  SharpenImage() sharpens the image.  We convolve the image with a Gaussian
: %  operator of the given radius and standard deviation (sigma).  For
: %  reasonable results, radius should be larger than sigma.  Use a radius of 0
: %  and SharpenImage() selects a suitable radius for you.
: %
: %  Using a separable kernel would be faster, but the negative weights cancel
: %  out on the corners of the kernel producing often undesirable ringing in the
: %  filtered result; this can be avoided by using a 2D gaussian shaped image
: %  sharpening kernel instead.


Thanks very much for your reply.

I'm confused about several things in the above paragraphs.  First, a
Gaussian is a low-pass filter.  Alone, it won't sharpen if convolved
with an image.  I suppose it is being used as an unsharp mask,
i.e., the low-pass filtered image is subtracted from the original to
yield a high-pass image and then a percentage of that is added back to
the original to emphasise high frequencies.

Second, with a Gaussian (and IIRC, only with a Gaussian) there is no
distinction between "separable" and "non-seperable" due to the way the
exponents combine in the Fourier domain.  That is the frequency domain
level-sets of the separable 2D Gaussian filter are actually circular
or elliptic (like a non-separable filter) Also a Gaussian doesn't have
any negative coefficients (though the overall unsharp mask filter
might).

There _is_ a difference between doing two 1D (separable) unsharp
masking operations and a single 2D (non-separable ) unsharp mask.
Maybe that is what is referred to above?

Last, assuming that the "standard dev." parameter controls both the
horizontal and vertical width of the Gaussian, what exactly does the
"radius" parameter control?

Dean



_______________________________________________
Magick-users mailing list
[email protected]
http://studio.imagemagick.org/mailman/listinfo/magick-users

Reply via email to