0

基本的に、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 に問題はありますか? またはビルドパスの問題??

4

3 に答える 3

4

タイプjava.awt.image.BufferedImageは解決できません。

そのエラーメッセージから、BufferedImageクラスはAndroidプラットフォームでサポートされていないようです。 AndroidAPIjava.awt.imageにはパッケージが含まれていません。

于 2012-11-03T14:19:21.847 に答える
3

他の人が言っているようBufferedImageに、Android プラットフォームではサポートされていません。解決策は、Android 用の Tess4j と同等の Tesseract ラッパー API である Tess-two を使用することです。

参照用: tess-two を使用した Android の OCR

これはかなり古いものですが、他の人が役立つように共有してください。

于 2015-08-06T18:33:29.657 に答える
1

この質問は本当に古いことを知っています。ただし、エラーを修正するには、[プロパティ] > [Java ビルド パス] > [ライブラリ] > [ライブラリを追加] に移動し、JRE システム ライブラリを含めます。:)

于 2014-02-05T04:53:08.943 に答える