[2] ファイルの配置・インポート
[2-1] [1-1] でダウンロードしたZIPファイルを解凍し、
Jarファイルおよび「tessdata」フォルダを自分のプロジェクト内に配置する
[2-2] [1-1] でダウンロードした「xxx.traineddata(今回は「jpn.traineddata」)」を
自分のプロジェクト内にある「tessdata」フォルダ配下に置く
[2-3] 環境変数「TESSDATA_PREFIX」を定義し、値を、自分のプロジェクトがあるパスにする
~~~
+ 環境変数名 : TESSDATA_PREFIX
+ 環境変数値 : 自分のプロジェクトがあるパス(例「C:\workspace\SampleProject」)
~~~
例
■解凍したファイルのフォルダ構造
Tess4J-3.2.1-src
+ Tess4J
+ dist ... jarファイル「tess4j-3.2.1.jar」をインポート
+ lib ... 「commons-beanutils-1.9.2.jar」等、全てのjarファイルをインポート
+ win32-x86-64 ... 「libtesseract304.dll」「gsdll64.dll」をコピーし、自分のプロジェクト内に配置する
+ src ... ソース(jarファイル「tess4j-3.2.1.jar」をインポートしない場合は、配下の「com」「net」をコピーし配置)
+ tessdata ... フォルダ「tessdata」ごとコピーし、自分のプロジェクト内に配置する
■ファイル移行先(自分のプロジェクト=「SampleProject」)
C:\workspace\SampleProject
+ src
+ lib
+ commons-beanutils-1.9.2.jar
+ ...その他多数のjarファイル
+ tess4j-3.2.1.jar
+ dll
+ libtesseract304.dll
+ gsdll64.dll
+ tessdata
+ jpn.traineddata
サンプル
* 簡単なサンプル画像「/etc/hello.png(ペイント「こんにちは。」と書いて保存)」を用意しておく
import java.io.File;
import net.sourceforge.tess4j.ITesseract;
import net.sourceforge.tess4j.Tesseract;
import net.sourceforge.tess4j.TesseractException;
public class Main {
public static void main(String[] args) {
File imageFile = new File("./etc/hello.png");
ITesseract instance = new Tesseract();
try {
long start = System.currentTimeMillis();
instance.setLanguage("jpn"); // ★英語だけならここをコメントアウト★
String result = instance.doOCR(imageFile);
long end = System.currentTimeMillis();
System.out.println(result);
System.out.println((end - start) / 1000 + "[sec]");
} catch (TesseractException ex) {
ex.printStackTrace();
}
}
}
出力結果
* 結果1:「こんにちは。」と書かれた画像
・・・略・・・
ParamsModel::Incomplete line 申?
ParamsModel::Incomplete line
ParamsModel::Incomplete line
Paraこんにちは〟 <== 出力結果
15[sec] <== 掛かった時間
msModel::Incomplete line Pス
ParamsModel::Incomplete line
ParamsModel::Incomplete line `<E
ParamsModel::Incomplete line ?
ParamsModel::Incomplete line
ParamsModel::Incomplete line ?,ュ
ParamsModel::Incomplete line
* 結果2:「山田 太郎」と書かれた画像
・・・略・・・
ParamsModel::Incomplete line 申?
ParamsModel::Incomplete line
ParamsModel::Incomplete line
Para山田鮑 <== 出力結果
16[sec] <== 掛かった時間
msModel::Incomplete line Pス
ParamsModel::Incomplete line
ParamsModel::Incomplete line `<E
ParamsModel::Incomplete line ?
ParamsModel::Incomplete line
ParamsModel::Incomplete line ?,ュ
ParamsModel::Incomplete line
* 結果3:「ABC...XYZ」と書かれた画像
ABCDEFGHIJKLMNOPQRSTUVWXVZ
1[sec]