обнаружить лицо на изображении и обрезать лицо с этой фотографии

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

Ниже мой код

   class AndroidFaceDetector extends Activity {
public String path;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Bundle bundle = this.getIntent().getExtras();
    path = bundle.getString("mypath");
    setContentView(new myView(this));

}

class myView extends View {

    private int imageWidth, imageHeight;
    private int numberOfFace = 5;
    private FaceDetector myFaceDetect;
    private FaceDetector.Face[] myFace;
    float myEyesDistance;
    int numberOfFaceDetected;
    Bitmap myBitmap;

    public myView(Context context) {
        super(context);
        System.out.println("CONSTRUCTOR");
        System.out.println("path = "+path);
        if (path != null) {
            BitmapFactory.Options BitmapFactoryOptionsbfo = new BitmapFactory.Options();
            BitmapFactoryOptionsbfo.inPreferredConfig = Bitmap.Config.RGB_565;
            myBitmap = BitmapFactory.decodeFile(path, BitmapFactoryOptionsbfo);
            imageWidth = myBitmap.getWidth();
            imageHeight = myBitmap.getHeight();
            myFace = new FaceDetector.Face[numberOfFace];
            myFaceDetect = new FaceDetector(imageWidth, imageHeight, numberOfFace);
            numberOfFaceDetected = myFaceDetect.findFaces(myBitmap, myFace);

        } else {
            Toast.makeText(AndroidFaceDetector.this, "Please Try again", Toast.LENGTH_SHORT).show();
        }

    }

    @Override
    protected void onDraw(Canvas canvas) {
        System.out.println("ON DRAW IS CALLED");
        if (myBitmap != null) {

            canvas.drawBitmap(myBitmap, 0, 0, null);

            Paint myPaint = new Paint();
            myPaint.setColor(Color.GREEN);
            myPaint.setStyle(Paint.Style.STROKE);
            myPaint.setStrokeWidth(3);

            for (int i = 0; i < numberOfFaceDetected; i++) {
                Face face = myFace[i];
                PointF myMidPoint = new PointF();
                face.getMidPoint(myMidPoint);
                myEyesDistance = face.eyesDistance();
                canvas.drawRect((int) (myMidPoint.x - myEyesDistance), (int) (myMidPoint.y - myEyesDistance),
                        (int) (myMidPoint.x + myEyesDistance), (int) (myMidPoint.y + myEyesDistance), myPaint);


            }


        }
    }
}

}


person Panchal Amit    schedule 22.09.2012    source источник
comment
нет, я использую собственный класс Android, такой как FaceDetector   -  person Panchal Amit    schedule 28.09.2012
comment
@SiddhpuraAmit - Привет, я ищу то же самое. Вы смогли разобраться? Очень хотелось бы узнать, как вы это сделали? Не могли бы вы поделиться своим кодом?   -  person NoviceMe    schedule 22.11.2013
comment
Нет, @NoviceMe, я все еще не нашел его :( вы можете вручную перетащить изображение и вручную установить его таким образом, как я это сделал   -  person Panchal Amit    schedule 23.11.2013
comment
если вы нашли свой ответ, пожалуйста, помогите другому @Siddhpura Amit   -  person dev_android    schedule 25.07.2014
comment
@user3467110 user3467110 извините, я так и не нашел :(   -  person Panchal Amit    schedule 25.07.2014
comment
понятно? такая же проблема!   -  person Mayur R. Amipara    schedule 06.08.2015
comment
Создайте новый Canvas и скопируйте содержимое прямоугольника, который вы уже нарисовали вокруг лица, на новый Canvas.   -  person Jonas Köritz    schedule 10.12.2015