問題タブ [tess4j]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - tess4jで辞書をオフにする方法は?
私のtess4j OCRアプリケーションでの文字認識の精度は非常に低いです。tess4j で辞書をオフにすると、個々の文字が認識されるようになり、精度が向上すると聞いています。しかし、私はそれを行う方法がわかりません。tess4jで辞書をオフにする方法を知っている人はいますか?
pdf - Tess4J doOCR() for *First Page* pdf / tif
特定の量のページ/文字のみをOCRするようにTess4Jに指示する方法はありますか?
200ページ以上のPDFを扱う可能性がありますが、実際には最初のページだけをOCRしたいのです。
私の知る限り、一般的なサンプル
200 以上のページ全体を 1 つの文字列に OCR しようとします。
私の特定のケースでは、それは私がする必要があるよりもはるかに多く、200以上のページすべてを実行させてから最初の500ページ程度だけを実行させると、非常に長い時間がかかるのではないかと心配しています.substring
java - ImageMagick (JMagick) から tesseract (Tess4J) をフィード
多くの形式の画像をOCRするJavaプログラムを作成しようとしています。イメージのバイトはネットワーク経由で送信されるため、イメージをファイルから直接読み取ることはできません。
現在、ImageIO を使用して画像ピクセルの raw バイトを読み取ることができます。ただし、ImageMagick でサポートされているすべての形式をサポートしたいので、JMagick を使用して画像を読み取り、生のバイトを Tess4J に渡します。これにどのようにアプローチすればよいかわかりません。私はこの関数が私にバイトを与えることができることを発見しました:
ただし、取得した PixelPacket オブジェクトを連続したバイトに変換するための特別なメソッドを作成する必要があります。私はそれを行うことができますが、おそらくこれを行うより良い方法はありますか?たとえば、次の方法で使用できる非常に生のファイル形式 ( http://en.wikipedia.org/wiki/BMP_file_format#mediaviewer/File:BMPfileFormat.pngよりもさらに多い) があるかもしれません。
オブジェクトはこの生の形式を指す必要があり、配列imageInfo
からピクセル情報を切り取ることができます。bytes
これは適切な方法ですか、それとももっと単純な (より高速で堅牢な) ものを使用する必要がありますか?
編集
私が念頭に置いていた形式はPNMと呼ばれていることがわかりました。
java - Tess4J からのコンソール出力の傍受
Empty page!!
を使用しているときに画面に表示される赤いメッセージを傍受しようとしていますTess4J
。andをオーバーライドし、and を置き換えて、この文字列をチェックする短いインターセプター クラスをprint
作成println
しましstdout
たstderr
。
私はクラスをテストしましEmpty page!!
た。ただし、コンソールに赤で出力されるメッセージをキャッチすることはできません。私の質問: このメッセージを傍受して抑制するにはどうすればよいですか?stdout
stderr
Empty page!!
Tess4J
本当にありがとう。
java - OCR Tesseract - Tess4J の動作がおかしい
画像からテキストを抽出しようとしています。問題は、以下のコードを使用して画像を処理し、抽出したテキストを印刷していることです。
main メソッドを使用すると、OCR エンジンは非常にうまく機能し、テキストを抽出します。しかし、このメイン メソッドを「extractText()」という名前のメソッドに変換しようとして、別のクラスから呼び出そうとすると、例外がスローされます。
これの何が悪いのかわかりません。ハードコードされたファイル名でまったく同じコードを使用しています。メソッドのみが変更されます。
これはとてもイライラします。誰か助けてください。
java - Tess4J が 32 ビット JVM で実行されない
tess4j を 32 ビットの jvm 環境で動作させるのに問題があります。奇妙なことに、64 ビットでは動作しますが、32 ビットでは動作しません (他の人が直面しているように見える問題とは逆です)。
ルート ディレクトリに lib フォルダを作成し、そこに dll を配置しました。
また、dll をルート ディレクトリに配置しようとしましたが、うまくいきませんでした。32 ビット jvm を使用して 32 ビット IDE から実行しようとしましたが、まだうまくいきません。
64 ビットをそのまま使用しますが、32 ビット環境でのみ動作する別のライブラリを使用する必要があります。
これに関するご意見をいただければ幸いです。
ありがとう
java - Tess4jで複数の.traineddataファイルにアクセスするには?
Java で Tess4j を使用していますが、一度に複数の .traineddata ファイルにアクセスする必要があります。独自の .traineddata ファイルを作成するように tesseract をトレーニングし、それらを Tess4j パッケージに付属するデフォルトの .traineddata ファイルと共に保持しました。デフォルトでは、OCR の実行中に eng.traineddata ファイルにアクセスします。Tess4j で一度に複数の .traineddata ファイルにアクセスするにはどうすればよいですか?
eclipse - JAR のビルド中に DLL を追加する方法 - Eclipse
Tesseract を OCR エンジンとして使用して、画像ファイルを Doc ファイルに変換する OCR アプリケーションを作成しました。これには Tess4j JNA ラッパーを使用しました。アプリケーションの作成中に、プロジェクトの bin フォルダーに dll ファイルと言語データ (tessdata) を配置すると、アプリケーションは正常に動作しました。プロジェクトをビルドすると、dll ファイルと tessdata が JAR に含まれていないため、プログラムが動作しません。エクスポートの2つの方法を試しました
**1. 必要なライブラリを生成された JAR にパッケージ化 **
DLL ファイルと Tessdata を JAR ファイルと同じディレクトリに追加しました。しかし、それは実行されませんでした。
http://i.imgur.com/cGwiVFC.png
それは私に次のエラーを与えました
**2. 生成された JAR の横にあるサブフォルダーに必要なライブラリをコピーします **
ここでも、dll ファイルと tessdata フォルダーを JAR ファイルと同じディレクトリにコピーしました (ライブラリを含むサブフォルダー内にコピーすると、DLL ファイルを見つけることさえできませんでした。)
http://i.imgur.com/7ShF3Ev.png
与えられたエラーは次のとおりです。
したがって、主な問題は、dllが見つかったにもかかわらず、Tessdataフォルダーを見つけることができないことです。私が興味を持っていたもう 1 つのことは、両方のケースで例外スタックに少し変更がある理由です (パッケージ化が少し異なるだけで、両方が同じコードを持ち、同じ問題に直面しているため、これは珍しいようです)。
編集1:
ビンからdllとtessdataを別のフォルダーに削除し、Javaビルドパス->ライブラリーの外部クラスフォルダーとして追加しても機能しません。それを行うと、tessdataが見つからないという同じエラーが発生します(アプリケーション自体で)。
編集2:
これが私のデータパスとして設定されているものです。これを何らかの方法で変更すると、エラーが修正される可能性がありますか?
投稿にフォーマットの問題があった場合は申し訳ありません。現在、StackOverflow の質問にプレビューが表示されていないか、書式設定ボタンがありません。後で表示されたときに問題が発生した場合は編集します:)
-シャウリヤ