Text Recognition using ocr of Matlab

1.4k views Asked by At

I am trying to do OCR of this image-

enter image description here

This is what I am doing using ocr of MATLAB-

I=imread('N.jpg');
r = ocr(I,'TextLayout','Word')

But instead of getting N as Text this is what I am getting-

r = 

  ocrText with properties:

                      Text: 'I\/

'
    CharacterBoundingBoxes: [5x4 double]
      CharacterConfidences: [5x1 single]
                     Words: {'I\/'}
         WordBoundingBoxes: [276 120 13 7]
           WordConfidences: 0.7718

So,basically I am getting I\/ as text.How can I fix this?

1

There are 1 answers

5
Benoit_11 On BEST ANSWER

You can dilate the image with a vertical line structuring element in order to vertically elongate the symbol and make it somewhat look more like a N.

Eg:

clear
clc

I=imread('N.jpg');

%// Line oriented at 90 degrees.
SE = strel('line',4,90);
I = imdilate(I,SE);

imshow(I)

r = ocr(I,'TextLayout','Word')

Image:

enter image description here

ahh now it looks like a N...

And output:

r = 

  ocrText with properties:

                      Text: 'N

'
    CharacterBoundingBoxes: [3x4 double]
      CharacterConfidences: [3x1 single]
                     Words: {'N'}
         WordBoundingBoxes: [276 118 13 11]
           WordConfidences: 0.8150

Yay!