面部检测错误

时间:2012-05-23 08:56:21

标签: android eclipse face-detection

我正在使用以下java代码进行facedetection作为我的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,它是drawable文件夹中的jpg文件。我还将单引号中的文件命名为'pic' - 它给了我无效的字符常量错误。

我也用双引号命名它但它仍然不起作用。我也把它命名为'pic.jpg'仍然不起作用

2 个答案:

答案 0 :(得分:0)

您的代码中可能还有另一个名为“pics”的变量。

尝试将其保存在其他文件夹中,例如MyPics。并且以不同的方式命名图片,比如xyz1.jpg

在这种情况下,将该行写为:

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

另外,您是否将'myBitmap'初始化为位图图像?意思是,你是否包括这一行:

Bitmap myBitmap;
在执行图像读取之前,在代码中

答案 1 :(得分:0)

请查看以下代码行:

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

让我知道它是否有效? 还要检查键入 R.drawable。

后出现的图像名称

修改

如果您仍然无法从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();
     }