2016-08-26 11 views
1

最近、私はMATLABで画像から数字を検出しようとしていると私は問題が発生しました:明確な目に見える「1」、下の写真(と多くの類似)のMatlabの - OCR機能の数字認識

1

'ocr'関数では検出されません。この機能でこのような数字を認識できるように、この画像をどのように前処理できますか教えてください。

+0

ocrの状態のドキュメント*は、認識結果を改善するために+/- 10度を超えるテキストの回転をすべて削除します。そうでなければ、ドキュメントはこのドキュメントの最後にhttp://www.mathworks.com/help/vision/ug/train-optical-character-recognition-for-custom-fonts.htmlを指しています... – Dan

答えて

3

この例は、mathworksウェブサイトで役立ちます。計算機の写真上の数字を探す第2の例は、特に関連性が高い。

彼らが使用する最初のトリックを適用すると(OCRにあなたがテキストブロックを期待していることを伝える)、結果は以下のコードになります。上にリンクした特定のサンプル画像で部分的に動作していました。私にとって

% Load your image 
I = imread('tkTMN.jpg'); 

% Perform OCR, looking for a block of text: 
results = ocr(I, 'TextLayout', 'Block'); 

% Display the recognized words 
if ~isempty(results.Words) 
    disp(results.Words); 
else 
    error('no words found'); 
end 

、MATLAB 8.6.0.267246 (R2015b)にこれは単語リストが返されました:

'1' 
'.' 
'j' 

ので完璧ではないが、少なくともそれは '1' を見つけました。 mathworksのページで提案されているその他の前処理のテクニックによって、よりよい結果が得られるかもしれません。

+0

ありがとうございます!それは動作します:D – Misiaczek22

+0

ここに提供されているmatlab CVツールボックスを避ける非常に基本的な解決策があります:https://stackoverflow.com/questions/5558005/simple-text-reader-ocr-in-matlab。また、OCRアルゴリズムの基本を理解することもできます。 –