私はtesseract-ocr-3.01を使って多くのフォームをスキャンしています。フォームはすべてテンプレートに従うので、テキストの領域/矩形がどこにあるかはすでに分かっています。Tesseract:テキストの範囲を指定する
コマンドラインツールを使用する場合、これらの領域をtesseractに渡す方法はありますか?
私はtesseract-ocr-3.01を使って多くのフォームをスキャンしています。フォームはすべてテンプレートに従うので、テキストの領域/矩形がどこにあるかはすでに分かっています。Tesseract:テキストの範囲を指定する
コマンドラインツールを使用する場合、これらの領域をtesseractに渡す方法はありますか?
回答は、this threadのおかげです。
tesseractはuvn形式(unvlテストで使用されています)をサポートしているようです。スレッドから
:
「-psm 4」パラメータでたTesseractを呼び出すと、画像の同じ名前のファイルuzn の名前を変更するには作品を思われます。
例:我々はC:\input.tif
とC:\input.uzn
を持っている場合、我々は、この操作を行います。
tesseract -psm 4 C:\input.tif C:\output
これは、最適な答えであるが、ここでは行きません可能性があります
私は、コマンドラインツールは、テキスト領域を指定するオプションを持っているかどうかわかりません。
あなたができることは、別のプラットフォーム(EmguCVにはTesseractが組み込まれています)でTesseractラッパーを使用することです。スキャンされたイメージを取得し、テキスト領域をトリミングし、Tesseractに1つずつ割り当てます。このようにして、Tesseractのページレイアウト解析の不正確さも回避できます。
例えば、
Image<Gray,Byte> scannedImage = new Image<Gray,Byte>(path_to_scanned_image);
//assuming you know a text region
Image<Gray,Byte> textRegion = new Image(100,20);
scannedImage.ROI = new Rectangle(0,0,100,20);
scannedImage.copyTo(textRegion);
ocr.recognize(textRegion);
をたTesseractが地域を受け入れない場合ふふ、それは私のフォールバック計画だった:) – sashoalm