2010-12-06 70 views
8

Tengo dos rectángulos, cada uno identificado por un conjunto de cuatro coordenadas. He leído sobre cómo ver si se cruzan, pero ¿cómo puedo calcular el área de la intersección? Los rectángulos no están alineados al eje.Determine el área de la intersección de dos rectángulos

¿Hay una función OpenCV para esto? Me dijeron que había, pero no lo encuentro.

Respuesta

2

tratar su rectángulos como polígonos generales, y descomponer el problema en dos pasos:

  • calcular la intersección de los dos polígonos, que en sí es un polígono (o vacío);
  • calcule el área del polígono resultante.

Hay mucha literatura en la Web para ambos problemas.

No sé nada sobre OpenCV, por lo que no puedo dar ningún consejo allí.

+0

aún mejor - trátelos como polígonos convexos – relaxxx

1

Puede convertir fácilmente el código de las bibliotecas de Qt para que se pueda utilizar con OpenCV.

Look para esta función:

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

En qrect.cpp.

Cuestiones relacionadas