0

プロジェクトの一部として、次の Java コードを使用して顔検出を行っています。奇妙なエラーが発生しています。

BitmapFactory.Options BitmapFactoryOptionsbfo = new BitmapFactory.Options();

         /*BitMapFactory-Creates Bitmap objects from various sources, including 
          * files, streams, and byte-arrays. 
          */

         BitmapFactoryOptionsbfo.inPreferredConfig = Bitmap.Config.RGB_565; 

imageWidth = myBitmap.getWidth();

     imageHeight = myBitmap.getHeight();

    myFace = new FaceDetector.Face[numberOfFace];

    myFaceDetect = new FaceDetector(imageWidth, imageHeight, numberOfFace);

     numberOfFaceDetected = myFaceDetect.findFaces(myBitmap, myFace); 

     }

//i get error over there in R.drawable.pics      
myBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.pics, BitmapFactoryOptionsbfo);

pics で pic ファイルの名前を指定することになっていますが、「pics を解決できないか、フィールドではありません」というエラーが表示され続けます。そこで、pic ファイルの名前を pic PS として設定しました。これは、drawable フォルダー内の jpg ファイルです。また、単一引用符で囲まれたファイルに「pic」という名前を付けました---無効な文字定数エラーが発生します。

また、二重引用符で囲んで名前を付けましたが、それでも機能しません。「pic.jpg」という名前も付けましたが、まだ機能しません

4

2 に答える 2

0

次のコード行で確認してください。

 BitmapFactory.Options options = new BitmapFactory.Options();
 options.inPreferredConfig =  Bitmap.Config RGB_565;
 Bitmap bMap = BitmapFactory.decodeResource(getResources(), R.drawable.icon,options);

それが機能するかどうか教えてください。R.drawableと入力した後に表示される画像名も確認してください。

編集:

それでもドローアブルから画像にアクセスできない場合は、pic.png などの画像をアセット フォルダーにコピーし、次のコードを使用してアクセスします。

更新されたコード:

try {
       InputStream bitmap=getAssets().open("icon.png");
       Bitmap bit=BitmapFactory.decodeStream(bitmap);
       img.setImageBitmap(bit);
     } catch (IOException e1) {
       // TODO Auto-generated catch block
       e1.printStackTrace();
     }
于 2012-05-23T11:58:59.620 に答える
0

コードに「pics」という名前の別の変数がある可能性があります。

MyPics などの別のフォルダーに保存してみてください。画像に別の名前を付けて、たとえば xyz1.jpg とします。

この場合、行を次のように記述します。

myBitmap = BitmapFactory.decodeResource(getResources(), R.MyPics.xyz1, BitmapFactoryOptionsbfo);

また、'myBitmap' をビットマップ イメージとして初期化しましたか? つまり、次の行を含めましたか。

Bitmap myBitmap;

あなたのコードでは、画像の読み取りを実行する前に?

于 2012-05-23T09:21:49.147 に答える