web-dev-qa-db-ja.com

javaからTesseractを使用する

私はJavaでサンプルアプリケーションをビルドしようとしています。これは画像ファイルを読み取り、画像から抽出したテキストを出力するだけです。 Tesseract プロジェクトが見つかりましたただし、C++で有望です。使用するには、単にJava app Runtime.exec(...)からコマンドラインとして実行する必要がありますか?またはより良い解決策がありますか?さらに、これは単なるサンプルアプリですが、コマンドラインアプリとして実行することは、スケーラビリティの観点から懸念されるでしょうか?

30
Omnipresent

現在、tesseractはjavacvプロジェクトによって提供されています。これは、Tess4Jを使用するよりもはるかに優れたオプションです。なぜなら、pomファイルに1つの依存関係を追加するだけで、プラットフォームのネイティブライブラリがダウンロードされ、 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の人たちへの大きな小道具、複数のプラットフォームでtess4jを動作させるのに1週間節約できたので、これが以前に見つけられたことを願っています!

38
PiersyP

Javaコードでtesseractプロジェクトを使用しました。必要なのは

  1. Tesseractのtess4j jniラッパーを入手してください。
  2. IDEでtess4j projを開き、ソースパッケージとライブラリを独自に追加します
    プロジェクト。
  3. Tesseractクラスのインスタンスを作成するコードを記述してから、それを使用して
    OCRを実行しています。

これをご覧ください http://tphangout.com/?p=18

Tesseract OCR APIを使用して、イメージを読み取り、テキストに変換するためのJavaプロジェクトをビルドする方法について説明します。

11
Raja Yogan

Tess4jを試しましたか: http://tess4j.sourceforge.net/

Windows用のtesseractのJNIラッパーです。

8
kokosing

Basic Git Repo を分岐し、Tesseract-ocrバージョン(4.x.x)およびbytedeco javacpp-presetsバージョン(1.4.3)と互換性があるように更新しました。

BasicTesseractExampleVer4

3
asmmahmud

試しただけ https://github.com/piersy/BasicTesseractExample

here's a screenshot

次の依存関係を1つだけ使用して、動作するように見えます。

<dependency>
      <groupId>org.bytedeco.javacpp-presets</groupId>
      <artifactId>tesseract</artifactId>
      <version>3.03-rc1-0.11</version>
</dependency>

ここにあります: https://github.com/bytedeco/javacpp-presets/tree/master/tesseract

歓声コラド

0
ccampisano