2016-05-04 31 views
0

ウィンドウのtesseract 3.05を使用して画像のOCR後の信頼レベルを得るにはどうすればよいですか?私は、サブプロセスのコマンドを使用してのpythonからたTesseractを呼び出しています:あなたはtsv outputを使用することができPythonやコマンドウィンドウでTesseractの信頼レベルを取得するには?

retcode = subprocess.call("tesseract -l eng myImage.png txt -psm 6" , stdin=None, stdout=False, stderr=None, shell=False)

答えて

0

。信頼レベルは、最後の1つの列にあります。

+0

私はたTesseract 4.0バージョンを使用していますが、TSVを出力する際、confに列は空です。別のバージョンのtesseract-ocrを使うべきですか? –

+0

'txt'を 'tsv'に置き換えると、confカラムが表示されます – EdgeRover

0

これは、必要なラッパーです: https://pypi.python.org/pypi/tesserocr/2.0.0です。またそこにはたくさんのPythonラッパーがありますが、このライブラリはC++ APIのほぼすべてをカバーする最も近いラッパーです。

例:

from PIL import Image 
from tesserocr import PyTessBaseAPI 

image = Image.open('/usr/src/tesseract/testing/phototest.tif') 
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) 
+0

コードにPyPIのページの例があることを明確にすると良いかもしれません。 –

+0

メモをお寄せいただきありがとうございます。Windowsマシンにtesserocrをインストールする際に問題が発生しています。 CPPビルドツール2014が必要ですが、見つからないようです。私はユーザーのpytesserパッケージを持っていて、それはtesseract-ocrで動作しますが、あなたが言及したように、十分な柔軟性を与えません。 tesseract-ocr 4.0バージョンはtsvファイルにconfを与えていません。なぜ私は分からない。 –

+0

https://github.com/tesseract-ocr/tesseract/wiki/Command-Line-Usage - >このサイトに基づいて、たぶん3.05(devBranch)のみ利用可能かもしれません。 Pytesseractライブラリを使用している場合は、 "def process_request"関数の内部で "tsv"オプションを直接追加する方が速くなります。 –

関連する問題