1
$\begingroup$

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

$\endgroup$
  • $\begingroup$ Consider edge detecting, some forms can be written as a convolution, and deconvolution is convolution :-) $\endgroup$ – Mikhail Mar 27 '15 at 13:55
1
$\begingroup$

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.

$\endgroup$
  • $\begingroup$ Thanks, Blind Deconvolution seems to be what I am looking for. But how would I combine the deconvolved image with the edge image? $\endgroup$ – Marius Herzog Mar 29 '15 at 8:59
  • $\begingroup$ What do you mean? Why won't you extract the edges from the "Deconvolved" image? $\endgroup$ – Royi Mar 29 '15 at 11:36
  • $\begingroup$ An edge filter gives me the outlines for the characters, but the OCR only recognizeds filled out characters. $\endgroup$ – Marius Herzog Mar 29 '15 at 14:00
  • $\begingroup$ Again, Apply the deconvolution process -> Get a sharp image as result -> continue like you'd do with a perfect out of the camera image. $\endgroup$ – Royi Mar 29 '15 at 14:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.