2013-09-19 1 views
4

Я использую собственный внешний вид Android для своего приложения, где битмап задается как входной сигнал, и лица должны быть обнаружены. Он отлично работает для растрового изображения с большими лицами. но не работает для растрового изображения с маленькими гранями.распознавание лиц, не обнаруживающих лиц, Android

Я попытался использовать растровое изображение, содержащее 10 лиц, но обнаружено только 3.

detectedFaces=new FaceDetector.Face[NUMBER_OF_FACES]; 
    faceDetector=new FaceDetector(resultBmp.getWidth(),resultBmp.getHeight(),NUMBER_OF_FACES); 
    NUMBER_OF_FACE_DETECTED=faceDetector.findFaces(resultBmp, detectedFaces); 

for(int count=0;count<NUMBER_OF_FACE_DETECTED;count++) 
    { 

if(count==0){ 

face1=detectedFaces[count]; 
      midPoint1=new PointF(); 
      face1.getMidPoint(midPoint1); 

      eyeDistance=face1.eyesDistance(); 

     left1 = midPoint1.x - (float)(1.8 * eyeDistance); 
     right1 = midPoint1.x + (float)(1.4 * eyeDistance); 
      top1 = midPoint1.y - (float)(1.4 * eyeDistance); 
      bottom1 = midPoint1.y + (float)(1.8 * eyeDistance); 

Bitmap bmface = Bitmap.createBitmap(resultBmp, (int) left1+5, (int) top1+5, (int) (2.8 * eyeDistance)+5, (int) (3.6 * eyeDistance)+5); 

} 
if(count==1) 
{ 
---- 
} 
-------------and so-on till count==10--------- 

    } 

Теперь, пожалуйста, предложите мне что-нибудь. faceteection должен работать и на маленьких лицах. картинка я использовал это enter image description here

заранее спасибо

+0

для полного примера см мой ответ здесь: http://stackoverflow.com/questions/4125821/face-detection-in-android – Jorgesys

ответ

11

я понял это. Для тех, у кого есть эта проблема. Распознавание лица работает только на растровом изображении после его преобразуется в RGB_565 с помощью этого

BitmapFactory.Options bitmapFatoryOptions=new BitmapFactory.Options(); 
    bitmapFatoryOptions.inPreferredConfig=Bitmap.Config.RGB_565; 
mybitmapss=BitmapFactory.decodeResource(getResources(), R.drawable.familyportrait2,bitmapFatoryOptions); 
+0

Благодаря! Я видел, что документация для 'findFaces' упоминает о необходимости формата 565, но я проигнорировал ее, поскольку это не было ошибкой. – Sam