Friday, January 12, 2018

convolution - Sharpen Defocused Image (Deconvolution / Image Restoration)


Using OCR, I want to extract text from product packages using Google Glass. However, because of the fixed focus of the camera the package pictures are blurred. Is there a way to sharpen the image? Currently I use unsharp masking to enlarge the gradients of the edges, which gives me OK results.


Is there a better way to do this? I thought about taking a picture of a point-spread-function and using this to deconvolve, but I doubt this gives me a good approximation of the distortion kernel.


Here is an example:


enter image description here




Answer



You're after an algorithm in the family of "DeConvolution".
Specifically in your case, is called Blind Deconvolution.


Yet if you have some assumption the Blur you can use Wiener Filter or Lucy Richardson.
Both of them are actually the MMSE Estimator just with different assumption of the noise.
Both of the methods are actually "Inverse Filter" on an Low Pass Filter, which means they are High Pass Filter, just like the Unsharp Filter you applied.
The difference is those methods are optimal per given "Blur Model".


Yet, if you go after the Blind Deconvolution, today the best estimators are based on some prior of the image.
Something like the distribution of the Gradient of the image and stuff like that.


Yet if you are only after the text in the image.

Something simple like Wiener Filter + Edge Detection should do the work to give you most data.


No comments:

Post a Comment

digital communications - Understanding the Matched Filter

I have a question about matched filtering. Does the matched filter maximise the SNR at the moment of decision only? As far as I understand, ...