2017-02-04 2 views
1

私はComputer Visionの世界では初めてです。トラック/自動車や他の車両に書かれたテキストを識別するためにOCRを実行する

私はTesseractを使用してトラックの側面に書かれた数字を検出しようとしています。

Image of a truck taken from Wikipedia

したがって、この例のために、私は出力としてCMA CGMを見たいのですが。

Iコマンドライン

tesseract image.JPG out -psm 6 

介したTesseractにこのイメージを与え、それは空のファイルを生成しました。

そしてIはTesserocrの文書(たTesseractのPythonのラッパー)を読み、次のコード

with PyTessBaseAPI() as api: 
    api.SetImage(image) 
    boxes = api.GetComponentImages(RIL.TEXTLINE, True) 
    print 'Found {} textline image components.'.format(len(boxes)) 
    for i, (im, box, _, _) in enumerate(boxes): 
     # im is a PIL image object 
     # box is a dict with x, y, w and h keys 
     api.SetRectangle(box['x'], box['y'], box['w'], box['h']) 
     ocrResult = api.GetUTF8Text() 
     conf = api.MeanTextConf() 
     print (u"Box[{0}]: x={x}, y={y}, w={w}, h={h}, " 
       "confidence: {1}, text: {2}").format(i, conf, ocrResult, **box) 

を試み、再度、画像内の任意の文字を読み取ることができませんでした。

この問題を解決するにはどうすればよいですか? (私は準備が整ったコードを探しているわけではないが、この問題を解決する方法についてのアプローチ)。

サンプル画像でtesseractを訓練する必要がありますか、またはトラックの座標を何らかの形で検出してトラックの境界内でのみOCRを行うように既存のライブラリを使用してコードを書くことはできますか?

答えて

0

Tesseractはドキュメントのみのイメージを必要としますが、イメージにはドキュメント以外のオブジェクトがあります。 Tesseract-OCRに入力する前に、洗練されたセグメンテーション(おそらくは画像処理)プロセスが必要です。

+1

洗練されたセグメンテーション部分について詳細を教えてください。それをどのように分割してどのような段階でTesseractに供給する準備ができたらいいですか? – Piyush

+0

Tesseractの-psmオプションは、必要なものと比較して基本的なものです。ナンバープレートの検出プロセスに似たもの、つまりイメージ内のテキスト以外の部分からテキストを探す必要があります。 OpenCVとそのコミュニティが役に立ちます。 –

関連する問題