2012-05-23 191 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