Выпрямление изображения в Android

Я работаю над проектом, в котором мне нужно реализовать Image Straightening. У меня есть идея сделать это. Я поворачиваю изображение на SeekBar как -10 до +10 градусов. Работает по белому фону, видно при повороте. Итак, нам нужно реализовать функцию масштабирования так, чтобы это выглядело как выпрямление изображения, как показано ниже Пожалуйста, совет с вашими предложениями.

Образец кода

float a = (float) Math.atan(bmpHeight/bmpWidth);
// the length from the center to the corner of the green
float len1 = (float) ((bmpWidth/2)/Math.cos(a-Math.abs(curRotate)));
// the length from the center to the corner of the black (^ = power)
float len2 = (float) Math.sqrt((bmpWidth/2)^2 + (bmpHeight/2)^2);
// compute the scaling factor
curScale = len2 / len1;
Matrix matrix = new Matrix();
matrix.postScale(curScale, curScale);
Bitmap resizedBitmap = Bitmap.createBitmap(bitmaprotate, 0, 0, bmpWidth, bmpHeight, matrix, true);
mainImage.setImageBitmap(resizedBitmap);

Ответы на вопрос(2)

Ваш ответ на вопрос