は現在、私は、Android上で私のために働くたTesseractアンドロイドツールたTesseract - アンドロイド - ツールの変更や修正が正常にコンパイル(と思う)が、何も出力
http://code.google.com/p/tesseract-android-tools/
を取得しようとしないのです。私はこれを約1週間使っていない。
私はcygwinでWin 7 64ビットを実行しています。
私はreadmeファイルの指示に従って、Android.mkファイルに多くの変更を加えました。基本的にはパスにスラッシュが追加されていたので、個々のファイルのパスを手動でハードコーディングしたり、3つのパッケージ内のファイルの場所に移動してビルドする必要がありました。しかし、ビルドの終わりに、私は "Build Sucessful"通知を受け取りませんでしたが、.soファイルが生成されました。
私はそれをそのままeclipseに移植し、次のコードを使用して抽出されたテキストを取得しました。
private static final String TESSBASE_PATH = "/mnt/sdcard/";
Bitmap imageFile = BitmapFactory.decodeFile(image.getAbsolutePath());
TessBaseAPI baseApi = new TessBaseAPI();
if(baseApi.init(TESSBASE_PATH, "eng")){
System.out.println("Tessbase initialized");
baseApi.setDebug(true);
baseApi.setImage(bmp);
String recognizedText = baseApi.getUTF8Text();
System.out.println("---------------------output-------------------");
System.out.println("recognizedText<"+recognizedText+">");
}
else{
System.out.println("Tessbase initialization failure.");
}
は、最初に私が言ってエラーになった
「利用できませんビットマップ機能、ライブラリはアンドロイド-8 NDKでコンパイルされなければならない」tessbaseapiを見て取った後
.cppファイル私は、正しい関数をコンパイルするために特定のコンパイラフラグが必要であることに気付きました。このフラグは-DHAS_JNIGRAPHICSでした。これが意味することは、JNI Graphicsライブラリが存在しなければならないということです。
ただし、新しくコンパイルされたメソッドのmemcpy()関数が見つからないため、プログラムはまだコンパイルされません。実際のC++コードを変更してこれを修正しました
最後に、プログラムは完全にコンパイルされましたが(まだ成功していませんでしたが)、実行したときに出力が得られませんでした。これはeng.traineddataファイルに問題があるか、実際のコードで問題になる可能性があります。
私が間違っていることはありますか?誰かが私をeng.traineddataファイルにリンクすることはできますか?
ありがとうございます!
私は実際これをやり終えました。私はgithubで同じtess-twoプロジェクトを使用し、ubuntuから構築しました。それは私が望むのとまったく同じように機能します。私はそれがtesseractアンドロイドツールライブラリの問題だったと思います。私はtess-twoを使用することをお勧めしたいと思います。 – eaglzfn37