San*_*p R 4 android crop bitmap face-detection android-canvas
我正在为我的应用程序使用Android原生facedetection,其中位图作为输入给出,并且应检测到面部.它适用于具有大面的位图.但不适用于小脸的位图.
我尝试了一个包含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---------
}
Run Code Online (Sandbox Code Playgroud)
现在请给我一些建议.facedetection也适用于小脸.我用的图片是
提前致谢
San*_*p R 11
我想到了.对于有这个问题的人.面部检测仅在使用此位置转换为RGB_565后才能在位图上使用
BitmapFactory.Options bitmapFatoryOptions=new BitmapFactory.Options();
bitmapFatoryOptions.inPreferredConfig=Bitmap.Config.RGB_565;
mybitmapss=BitmapFactory.decodeResource(getResources(), R.drawable.familyportrait2,bitmapFatoryOptions);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2326 次 |
| 最近记录: |