Image sharpening methods

14,709

In general, sharpening increases the contrast between pixels. Naive implementations often introduce "halos" along edges, which can be perceptively unappealing. Techniques such as the bilateral filter attempt to address this problem. There have been a few interesting techniques in recent years, a good summary of the concepts up to modern algorithms is covered by Andrew Adams in: http://www.stanford.edu/class/cs448f/lectures/2.1/Sharpening.pdf

Look near the end for some approaches:

Bilateral & Trilateral Filter

Edge Preserving Decompositions for MultiScale Tone and Detail Manipulation

Blind deconvolution (convolution without a known kernel)

Of course, if you have more than one image, or any information about the image you are dealing with (such as other, sharp images of the subject) you can typically do much better using a variety of learning techniques based on image priors.

A good general framework for working with images and trying some of the sharpening techniques is OpenCV, which there exist python binding for.

Share:
14,709

Related videos on Youtube

varuas
Author by

varuas

Updated on June 04, 2022

Comments

  • varuas
    varuas almost 2 years

    I'm doing a project where I'll be using genetic algorithms to optimize a set of filters and parameters that will be used to sharpen an image. I'm currently reading the book "Digital Image Processing" by Gonzalez, and researching anything I can about image processing, since I'm somewhat new to this field.

    I was looking for a list of sharpening methods... i.e. unsharp masks, high-pass filter, laplacian sharpening, etc. If you're familiar with image processing, are there any filters you would recommend for sharpening images (containing parameters for "tuning")?

    Thanks!

  • varuas
    varuas over 12 years
    Thanks for the recommendation; that was exactly what I was looking for. As for the genetic algorithms, since there is no additional information other than the input image, I was thinking of applying artificial blur to the image, and then sharpening that image (using the original image as the "ideal" fitness function). Then, the filter set would be applied to the original image itself. Of course, the type of artificial blur would determine how the image is sharpened. Do you think this method would be effective?
  • dvj
    dvj over 12 years
    Probably not directly, depending on your image. Sounds like what you may be attempting is more related to super resolution than sharpening. Take a look at Natural Image Priors, and the variety of Single Image Super Resolution techniques associate with it. Maybe start with "Super-Resolution from a Single Image" by Glasner et al, and look at the references for more, especially Freeman, et al who has a seminal paper from the early 00's.