私は多くのフォームをスキャンするためにtesseract-ocr-3.01を使用しています。フォームはすべてテンプレートに従っているので、テキストの領域/長方形がどこにあるかはすでにわかっています。
コマンドラインツールを使用するときに、これらの領域をtesseractに渡す方法はありますか?
このスレッドのおかげで、私は答えを見つけました。
tesseractはuzn形式(unvlテストで使用)をサポートしているようです。
スレッドから:
パラメータ「-psm4」を使用してtesseractを呼び出し、同じ名前の画像でuznファイルの名前を変更することは機能しているようです。
例:C:\input.tif
とがある場合はC:\input.uzn
、次のようにします。
tesseract -psm 4 C:\input.tif C:\output
これは最適な答えではないかもしれませんが、ここに行きます:
コマンドラインツールにテキスト領域を指定するオプションがあるかどうかはわかりません。
できることは、別のプラットフォームでTesseractラッパーを使用することです(EmguCVにはTesseractが組み込まれています)。したがって、スキャンした画像を取得し、テキスト領域を切り取って、一度に1つずつTesseractに渡します。このようにして、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);