Как получить соотношение сторон искаженного прмоугольника?

Здравствуйте!
У меня есть фото прямоугольного объекта, сделаное под некоторым углом, т. е. он искажен. Мне нужно обрезать фото так, чтобы фото содержало в себе только прямоугольник, причем уже выравненный. Я сделал это при помощи матрицы, все работает отлично, но я сам задаю конечные координаты, куда он будет "впихиваться". Как мне получить реальные пропорции прямоугольника?

Пишу под Андроид. сorners - это координаты углов искаженного прямоугольника на фото. w & h - размеры, под которые я подгоняю прямоугольник, именно их мне и надо вычислить:
float[] dest = new float[]{0, 0, w, 0, w, h, 0, h};
        float[] source = new float[]{corners.get(0).getX(), corners.get(0).getY(), corners.get(1).getX(), corners.get(1).getY(), corners.get(2).getX(), corners.get(2).getY(), corners.get(3).getX(), corners.get(3).getY()};
        matrix.setPolyToPoly(source, 0, dest, 0, 4);
  • Вопрос задан
  • 338 просмотров
Пригласить эксперта
Ответы на вопрос 2
2ord
@2ord
Формулы не скажу - не знаю.
При помощи OpenCV попробуй getPerspectiveTransform
stackoverflow.com/questions/8235288/perspective-co...
Automatic perspective correction for quadrilateral...
Ответ написан
Комментировать
@Hakito Автор вопроса
А формулы никто не подскажет? Не хочется подключать для такой мелочи OpenCV
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы