2015-06-24 19 views
7

Próbuję zrobić OCR tego obraz-rozpoznawania tekstu przy użyciu OCR Matlab

enter image description here

To co robię używając ocr z MATLAB -

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

ale zamiast coraz N jako Text to właśnie otrzymuję -

r = 

    ocrText with properties: 

         Text: 'I\/ 

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

Więc, w zasadzie otrzymuję I\/ jako tekst. Jak mogę to naprawić?

+1

Czy to ma być N? Rozumiem, że ocr daje taki wynik XD –

+0

Tak, to ma być 'N' – Joker

Odpowiedz

5

można rozszerzać obraz z pionowym elementem linia strukturyzacji w celu pionowo wydłużone symbol i uczynić go nieco bardziej przypominał N.

Np

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

Obrazek:

enter image description here

ahh teraz wygląda jak N ...

i wyjście:

r = 

    ocrText with properties: 

         Text: 'N 

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

Yay!

+0

Dzięki temu działa dla tego konkretnego obrazu. Chociaż mam wiele podobnych obrazów, dla których może nie działać, ale mam pomysł, jak się z tym umówić z takimi obrazami. Jeszcze raz dziękuję. – Joker

+1

Tak, tak się bałem. Być może możesz znaleźć kilka elementów strukturyzujących, które ogólnie działają dla poszczególnych zestawów liter ... to interesujący problem: –

+1

wydłużenie w pionie jest właściwym pojęciem: P – rayryeng

Powiązane problemy