画像ファイルを読み取り、画像から抽出したテキストを出力するサンプルアプリケーションをJavaで構築しようとしています。有望と思われるTesseractプロジェクトを見つけましたが、C++でのプロジェクトです。それを使用するには、Javaアプリからコマンドラインとして実行する必要がありRuntime.exec(...)
ますか?または、より良い解決策、おそらくJARはありますか?さらに、これは単なるサンプルアプリですが、コマンドラインアプリとして実行することは、スケーラビリティの観点から懸念事項になりますか?
6 に答える
現在、tesseract は javacv プロジェクトによって提供されています。これは、Tess4J を使用するよりもはるかに優れたオプションです。必要なのは pom ファイルに単一の依存関係を追加することだけだからです。その後、プラットフォームのネイティブ ライブラリがダウンロードされ、自動的にリンクされます。 javacv tesseract バージョン。
ここにMavenプロジェクトの例を作成しました-https ://github.com/piersy/BasicTesseractExample
また、gradle プロジェクトの例もここにあります - https://github.com/piersy/BasicTesseractExampleGradle
これが私のubuntuマシンで機能するには、libstdc ++ 6のインストールを更新する必要がありました
libstdc++6 をインストールするだけでうまくいくかもしれませんが、以下を実行することでこれを達成しました。
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install libstdc++6
gradle プロジェクトは自動インストールを実行しないことに注意してください。それでも、Tess4J を使用するよりもはるかに簡単です。
javacv プロジェクトはこちら - https://github.com/bytedeco/javacpp-presets/tree/master/tesseract
javacv の人たちへの大きな小道具です。もっと早くこれを見つけていたらよかったのにと思います。
Java コードで tesseract プロジェクトを使用しました。あなたがする必要があるのは、
- tesseract の tess4j jni ラッパーを取得します。
- IDE で tess4j プロジェクトを開き、ソース パッケージとライブラリを独自の
プロジェクトに追加します。 - tesseract クラスのインスタンスを作成するコードを記述し、それを使用し
て OCR を実行します。
これを見てくださいhttp://tphangout.com/?p=18
Java プロジェクトをビルドしてイメージを読み取り、tesseract OCR API を使用してテキストに変換する方法について説明します。
tess4j を試しましたか: http://tess4j.sourceforge.net/。
Windows用のtesseractのJNIラッパーです。
私はこれを使用しました Appiumを使用してトーストメッセージをテストする方法?
これとともに
<dependency>
<groupId>net.sourceforge.tess4j</groupId>
<artifactId>tess4j</artifactId>
<version>3.2.1</version>
</dependency>