このプロジェクトの最終目標は、jarファイルをtesseractを使用するディレクトリに置いて結果ディレクトリと出力txtファイルを出力することです。しかし、私はtesseractにいくつかの問題があります。 私はMavenを使ってJavaでtess4jを使っています。自分のコードを実行可能なjarファイルにしたいと思います。プロジェクトは、デスクトップアプリケーションとして正常に動作しますが、いつでも私はそれは私にエラーを与えます(jarファイルにエクスポートした後)java -jar fileName.jar
を使用して実行しようTesseract Java設定用Tessdata_Prefix実行可能なjar用
Please make sure the TESSDATA_PREFIX environment variable is set to the parent directory of your "tessdata" directory
Failed loading language 'eng'
...
私はオンラインを見て、本当にためたTesseractを設定する方法を見つけるcouldntのjarとパスを正しく取得します。今私はmavenを使い、私のpomファイル(tess4j -v 3.0)にTesseractの依存関係があり、私は自分のプロジェクトにtessdataを持っています。
私はかなりmavenとjarファイルに新しいですし、以前はtesseractを使用したことはありませんでしたが、インターネットから私が正しく設定している限り、正確に設定しました。
tess4jをプロジェクトのtessdataディレクトリをポイントする方法を知っていて、動的パスを持っているので、複数のコンピュータや場所で移動することはできますか?
これは、私はこれは私が
String dir = System.getProperty("user.dir");
System.out.println("current dir = " + dir);
ProcessBuilder pb = new ProcessBuilder("CMD", "/C", "SET");
Map<String, String> env = pb.environment();
env.put("TESSDATA_PREFIX", dir + "\\tessdata");
Process p = pb.start();
私のコードでは、環境変数TESSDATA_PREFIXを設定しようとした方法であるが、これは識別できるがなかった
Tesseract instance = new Tesseract();
instance.setDatapath("src/main/resources");
String result = instance.doOCR(imageFile);
String fileName = imageFile.getName().replace(".jpg", "");
System.out.println("Parsed Image " + fileName);
return result;
EDIT
たTesseract
を呼び出す方法です効果。私はまだ私はtessdataの親ディレクトリに設定する必要があり、エラーメッセージによると、同じエラーEDIT 2
を持って、私はまた、無駄
EDIT 3にこれを試してみました
1トンの検索とそれを修正しようとすると、私はそれが可能であるかどうかはわかりません。 tesseractのdoOcrメソッドは、バッファリングされたイメージまたはFileを取り込みます。これは、イメージが動的ではない場合には問題ありません。本当にそれらをjarファイルに格納できません。 TESSDATA_PREFIXがまだ設定されていないという事実は言うまでもありません。誰もが任意のアイデアを持っている場合、私はまだすべての耳をしていると私は解決策を探し続けるが、それはあなたがあなたのtessdata
フォルダの場所にたTesseractを指すようにinstance.setDatapath
メソッドを呼び出すことができるすべての
それは役に立ちますか? http://stackoverflow.com/questions/18095708/tess4j-doesnt-use-its-tessdata-folder –
@ ShmulikKleinいいえ、私のために働いていません。私は環境変数をどのように設定するかを編集します。私は同じエラーを受けました – Ian
問題は私のプロジェクト階層にtessdataがあることです。システムがそれを持っていない可能性があるので、私は実際にこれを引き出すことができません。実行可能にしている間にテスデータを読み込む方法を見つける必要があります。 – Ian