Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Image sharpening methods

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!

like image 742
varuas Avatar asked Sep 03 '11 19:09

varuas


1 Answers

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.

like image 72
dvj Avatar answered Oct 07 '22 17:10

dvj