MATLAB Answers


Detecting numbers from an image

Asked by Soumyadip
on 30 Jul 2013

I have an image taken from the display of an instrument screen. Is it possible to detect only the digits out of all the objects from the image and then somehow highlight them ?? (just like facebook automatically detects faces of persons)


In principle, yes. As for how to do so, it will vary substantially on your images. How consistent is the lighting, focus, angle, etc. between images? Can you upload one of your images somewhere (e.g. and post the link here?

In this image, I want to identify the digits irrespective of their sizes and put a bounding box around them.

1 Answer

Answer by Walter Roberson
on 30 Jul 2013

I would start by using imdilate() to cause the sections at the bottom to "run together". Then convert to binary, regionprops, find the bounding box of the largest (or few largest) blob, remove those blobs from the original image. This will focus on the more scattered portions left over. At that point, it might potentially be as easy as a horizontal scan to find the bounds of the unneeded parts on each side, and removing those, leaving only the digits in the center. regionprops to bounding box.

  1 Comment

that would be fine, specially for this particular image. If the snapshot had been taken from a larger distance, then more objects would appear which may not result in a big blob by dilation. I was thinking of using a classifier approach to distinguish numbers from the other objects right from the start and thus identify them. Is this possible??

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!