2010-12-06 6 views
8

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

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

ответ

2

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

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

В обеих проблемах есть много литературы в Интернете.

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

+0

еще лучше - рассматривать их как выпуклые многоугольники – relaxxx 2011-12-21 12:12:43

1

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

Посмотрите на эту функцию:

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

В qrect.cpp.

Смежные вопросы