Android 人脸检测错误

Android 人脸检测错误,android,eclipse,face-detection,Android,Eclipse,Face Detection,作为项目的一部分,我正在使用以下java代码进行人脸检测。我遇到了一个奇怪的错误 BitmapFactory.Options BitmapFactoryOptionsbfo = new BitmapFactory.Options(); /*BitMapFactory-Creates Bitmap objects from various sources, including * files, streams, and byte-arrays.

作为项目的一部分,我正在使用以下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”仍然不起作用

您的代码中可能还有另一个名为“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);
让我知道它是否有效? 还请检查键入R.drawable后显示的图像名称

编辑:

如果仍然无法从drawable访问图像,请将图像(如pic.png)复制到asset文件夹,并使用以下代码访问它:

更新代码:

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

是的,我添加了位图myBitmap;我也照你说的做了,即R.MyPics.xyz1;我也试过R.drawable.xyz1;在我键入R.drawable后也不起作用。它在一个小窗口中说,在类型“R”AssetManager中创建字段“drawable”无法解析为类型InputStream无法解析为类型BitmapFactory。Options=new BitmapFactory.Options();options.inPreferredConfig=Bitmap.Config.RGB_565;AssetManager AssetManager=getAssets();InputStream istr=assetManager.open(“pic.png”);myBitmap=BitmapFactory.decodeStream(istr);我没有找到来源→ 组织对重要必需包的导入,但是我现在正在获取InputStream istr=assetManager.open(“pic.png”)未处理的异常类型IOExceptions我应该添加一个抛出异常吗