2016-09-28 9 views
12

私は自分のlinux環境にtesseractをインストールしました。tesseractは小さなラベルを手に入れませんでした

私は

# tesseract myPic.jpg /output 

のようなものを実行するとき、それは動作しますが、私のPICは、いくつかの小さなラベルやたTesseractがそれらを見ていない持っています。

オプションでピッチなどを設定できますか?テキストラベルの

例:

enter image description here

この写真ではenter image description here

は、たTesseractは、しかし、この写真と...

を任意の値を認識しません。私は次の出力を持っています:

J8 

J7A-J7B P7 \ 

2 
40 50 0 180 190 

200 

P1 P2 7 

110 110 
\ l 

たとえば、この場合には、(左上の)90がたTesseractで見られない...

私はそれだけで定義する、あるいは全く、そのようsomethinkするためのオプションだと思いますか?

Thxを

たTesseract(ならびに任意のOCRエンジン)からの正確な結果を得るために

答えて

5

この記事に私の答えに見られるように、あなたはいくつかのガイドラインに従う必要があります。ここでは Junk results when using Tesseract OCR and tess-two

その要旨さ:300 DPIは最小

  • 使用(必要な場合)は、高解像度画像である

  • スキューがある場合、あなたは良い結果を得るのを助けるために辞書を使用し

  • をOCRする前にコード内で画像を修正する必要があります

  • 影や曲がりが画像に存在しないことを確認してください

  • 2値化(12ポイントフォントが理想的である)画像をテキストサイズを調整し、ノイズ

  • を除去するための画像処理アルゴリズムを使用

また、このリンクで見られるように、より良い結果を受け取るためのOCRエンジンを訓練し、いくつかの時間を費やすことをお勧めします。Training Tesseract

私はあなたが使用して、それらの上にいくつかの画像処理を共有して走った2枚の画像を取りましたLEADTOOLS SDK(免責事項:私はこの会社の従業員です)、処理された画像よりも良い結果を得ることができましたが、元の画像は最高ではないため、まだ100%ではありませんでした。ここで

//initialize the codecs class 
using (RasterCodecs codecs = new RasterCodecs()) 
{ 
    //load the file 
    using (RasterImage img = codecs.Load(filename)) 
    { 
     //Run the image processing sequence starting by resizing the image 
     double newWidth = (img.Width/(double)img.XResolution) * 300; 
     double newHeight = (img.Height/(double)img.YResolution) * 300; 
     SizeCommand sizeCommand = new SizeCommand((int)newWidth, (int)newHeight, RasterSizeFlags.Resample); 
     sizeCommand.Run(img); 

     //binarize the image 
     AutoBinarizeCommand autoBinarize = new AutoBinarizeCommand(); 
     autoBinarize.Run(img); 

     //change it to 1BPP 
     ColorResolutionCommand colorResolution = new ColorResolutionCommand(); 
     colorResolution.BitsPerPixel = 1; 
     colorResolution.Run(img); 

     //save the image as PNG 
     codecs.Save(img, outputFile, RasterImageFormat.Png, 0); 
    } 
} 

このプロセスからの出力画像である:ここで私がしようとすると、画像を固定するためのコードである返信用

image1 processed image2 processed

+0

Thxをは、なぜそれができませんたとえば、2番目の画像の左上にある90のすべてのラベルを認識すると、読みやすくなりそうです – Paul

+0

エンジンを訓練して、より良い結果を得るか、より良い開始画像を使用して、ピクセルを補間してサイズを変更します。 – hcham1

+0

私の場合に使用する最適なセグメンテーション方法は何ですか? – Paul

関連する問題