Определить площадь пересечения двух прямоугольников
У меня есть два прямоугольника, каждый из которых определяется набором четырех координат. Я читал о том, как увидеть, пересекаются ли они, но как я могу рассчитать площадь пересечения? Прямоугольники не выровнены по оси.
есть ли функция OpenCV для этого? Мне сказали, что есть, но я не нашел.
2 ответов
рассматривайте прямоугольники как общие полигоны и разложите проблему на два шага:
- вычислить пересечение двух полигонов, которое само по себе является многоугольником (или пустым);
- вычислить площадь полигона.
в интернете есть много литературы по обеим проблемам.
Я ничего не знаю о OpenCV, поэтому не могу дать никаких советов.
вы можете легко преобразовать код библиотек Qt для этого, чтобы использовать его с OpenCV.
найдите эту функцию:
QRect QRect::operator&(const QRect &r) const
на qrect.cpp.