2012-05-23 174 views
0

我'做與下面的Java代碼的人臉檢測我的project.iam的一部分得到一個奇怪的錯誤錯誤的人臉檢測

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); 

我應該給圖片中pic文件的名稱,但它使給我一個錯誤 圖片無法解析或不是字段。所以我將pic文件的名稱設置爲pic PS它是可繪製文件夾中的jpg文件。我也將單引號內的文件命名爲'pic'---它給了我無效的字符常量錯誤。

我也在雙引號內命名它,但它仍然不起作用。我也將它命名爲'pic.jpg'仍然不起作用

回答

0

可能在代碼中有另一個變量名爲'pics'。

嘗試將其保存在不同的文件夾中,比如MyPics。而不同的方式命名的圖片,說xyz1.jpg

在這種情況下寫的路線爲:

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

另外,你初始化「MYBITMAP」作爲位圖圖像?意思是,你是否包含該行:

Bitmap myBitmap; 

在你的代碼中,執行圖像讀取之前?

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

讓我知道它是否有效與否:

+0

是的,我確實添加了位圖myBitmap;我也照你說的做了R.MyPics.xyz1;我也試過R.drawable.xyz1;沒有工作 –

+0

ie id已經添加位圖myBitmap –

0

與下面的代碼行只是檢查? 同時檢查您輸入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(); 
    } 
+0

它保持下劃線圖標 –

+0

也後ive鍵入R. drawable它說在一個小窗口創建字段'drawable'在'R' –

+0

我編輯了我的答案。檢查它 – AndroidLearner