2011-12-14 16 views
6

Estoy tratando de pensar en el mejor método para detectar rectángulos en una imagen.¿Cuál es el método * correcto * más simple para detectar rectángulos en una imagen?

Mi idea inicial es utilizar el Hough transform para las líneas, y para seleccionar combinaciones de líneas donde dos líneas se cruzan tanto en la parte inferior como en la superior por las mismas dos líneas, pero esto no es suficiente.

¿Utilizaría un corner detector junto con el trabajo de transformación de Hough?

+0

No es suficiente, quiere decir no eficiente, ¿verdad? Eso realmente depende de su aplicación; a menos que esté haciendo esto para video de alta definición en tiempo real, la transformación Hough podría ser lo suficientemente buena. – misha

Respuesta

5

Consulte /samples/c/squares.c en su distribución de OpenCV. Este ejemplo proporciona un detector cuadrado, y debería ser un buen comienzo.

También se aplica la respuesta here.

3

No creo que actualmente exista un método simple y robusto para detectar rectángulos en una imagen. Usted tiene que hacer frente a muchos problemas, como los rectángulos no ser exactamente rectangular, pero sólo aproximadamente, oclusiones parciales, cambios de iluminación, etc.

Una dirección posible es hacer una segmentación de la imagen y luego comprobar qué tan cerca está cada segmento ser un rectángulo Como no puede confiar en su algoritmo de segmentación, puede ejecutarlo varias veces con diferentes parámetros.

Otra dirección es tratar de ajustar paramétricamente un rectángulo a la imagen de modo que se maximice la magnitud del gradiente de imagen a lo largo del contorno.

Si opta por trabajar en un enfoque paramétrico, observe que si bien la forma trivial de parametrizar un rectángulo es por las ubicaciones de sus cuatro esquinas, que son 8 parámetros, hay algunas otras representaciones que requieren menos parámetros.

+0

para una forma geométrica simple, una transformación de Hough responde a estos puntos: para algo más complejo como una cara, usted es exactamente correcto. –

+0

En realidad, trabajé un poco en la detección de rectángulos y me encontré con estos problemas. Obviamente, si trabajas con imágenes sintéticas, entonces el método Hough funcionará maravillosamente, pero si quieres querer encontrar rectángulos "en la naturaleza", entonces es una historia completamente diferente. –

Cuestiones relacionadas