MATLAB Answers


Matlab edge detection - of text!

Asked by Despairy
on 29 Nov 2012

after a lot of tryouts with different filters i have yet to accomplish getting a black and white image of the picture above.

I would like to have the text as readable as possible but using the 'log' filter is just not enough mixed with imadjust and midfilters

while the others doesnt help at all ,

could use a suggestion , thanks

  1 Comment

The image looks very clean and not too noisy. Can you try dividing the image into squares and taking the mean of the square. Reassign pixels that are a threshold above the mean to black and below a threshold from the mean to white. You would have to decide the size of square and threshold level.

1 Answer

Answer by Image Analyst
on 29 Nov 2012

You might want to try getting rid of the background gradient and maximize contrast by using CLAHE (contrast limited, locally adaptive histogram equalization), accomplished by the function "adapthisteq()" in the Image Processing Toolbox.


on 30 Nov 2012

Well I'm not trying to implement some kind of OCR algorithm, I just need the text to be shown clearly. I thought of doing so using edges detection, but if there is any other (better) way I don't mind giving a shot.

Why is the image so bad in the first place? Can't you obtain better images with more uniform illumination? How about using a scanner, or a nice light booth with flood illumination and the inside painted all white?

on 30 Nov 2012

Well it is an exercise for trying to get the best of it which I can't seem to succeed. maybe a different approach would do.

Join the 15-year community celebration.

Play games and win prizes!

Learn more
Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!