Распознавание текста с использованием ocr Matlab

Я пытаюсь сделать OCR этого изображения-

Это то, что я делаю, используя ocr из MATLAB-

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

Но вместо того, чтобы получить N как Text это то, что я получаю

r = 

  ocrText with properties:

                      Text: 'I\/

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

Итак, в основном я получаю I\/ как текст. Как я могу это исправить?

1 ответ

Решение

Вы можете расширить изображение с помощью элемента структурирования вертикальной линии, чтобы вытянуть символ вертикально и сделать его более похожим на N.

Например:

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')

Образ:

ааа теперь это выглядит как N...

И вывод:

r = 

  ocrText with properties:

                      Text: 'N

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

Ура!

Другие вопросы по тегам