基本的に、Android デバイスのデフォルト カメラから画像をキャプチャし、その画像を画像ビューに表示するアプリケーションを設計しています! 正常に動作します!十分です!
capt_but.setOnClickListener(new View.OnClickListener()
{
//@Override
// TODO Auto-generated method stub
public void onClick(View v)
{
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, CAMERA_REQUEST);
}
});
}
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
if (requestCode == CAMERA_REQUEST && resultCode == RESULT_OK)
{
Bitmap photo = (Bitmap) data.getExtras().get("data");
imageView.setImageBitmap(photo);
}
}
私の次のタスクは、キャプチャした画像から基本的に文字を抽出する tess4j OCR 機能を適用することです! tess4j は基本的に、tesseract OCR の Java ラッパーです。ECLIPSEでプログラミングしています!これがそのリンクです!
tess4j.sourceforge.net
オープン ソース ファイルで見つけたすべての jar を追加し、作成したフォルダーに追加しました。これは、Eclipse のメイン プロジェクト ディレクトリの lib です。私はそれらをすべて選択し、ビルドパスにも追加しました!
次に、見つけたすべての dll をメイン プロジェクト ディレクトリにコピーしました。次に、上記の同じリンクで 1 つの例を使用して、次のようにコードをプログラムしました。
public void myfunction(Intent data)
{
Bitmap photo = (Bitmap) data.getExtras().get("data");
Tesseract instance = Tesseract.getInstance(); // JNA Interface Mapping
File imageFile = new File("myimage.tif");
try
{
String result = instance.doOCR(imageFile)
System.out.println(result);
}
catch (TesseractException e)
{
System.err.println(e.getMessage());
}
}
私のプロジェクトは tesseract jar を取得しており、 の関数ディレクトリを参照できるようになっています。オペレーター!しかしオンラインでは、
String result = instance.doOCR(imageFile)
次のエラーが表示されます。
タイプ java.awt.image.BufferedImage を解決できません。必要な .class ファイルから間接的に参照されている
簡単な修正は次のとおりです。ビルドパスを構成してください!
何が問題なのかわかりません!問題を解こうと頑張っています!上記の手順で何か不足していますか? ダウンロードしたtess4jには他のファイルもありました!上記のリンクから tess4j をダウンロードして、ダウンロードしたファイルを調べてください。xml に問題はありますか? またはビルドパスの問題??