Определить площадь пересечения двух прямоугольников - PullRequest
8 голосов
/ 06 декабря 2010

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

Есть ли для этого функция OpenCV? Мне сказали, что есть, но я не могу его найти.

Ответы [ 2 ]

2 голосов
/ 06 декабря 2010

Рассматривайте ваши прямоугольники как общие многоугольники и разбейте задачу на два шага:

  • вычислите пересечение двух многоугольников, который сам является многоугольником (или пуст);
  • вычислите площадь полученного многоугольника.

В Интернете достаточно литературы по обеим проблемам.

Я ничего не знаю об OpenCV, поэтому не могу дать ни одногосовет там.

1 голос
/ 16 декабря 2010

Вы можете легко преобразовать код библиотек Qt для этого для использования с OpenCV.

Ищите эту функцию:

QRect QRect::operator&(const QRect &r) const 

In qrect.cpp .

...