2011-03-31 12 views
6

Hough Transform se puede utilizar para extraer líneas de imágenes. También se puede usar para extraer curvas, aunque es un poco más difícil porque las transformaciones de Hough de mayor dimensión consumen más recursos. Me preguntaba cómo se puede restringir la transformación de Hough al espacio de votación 2D para una curva de orden 3, es decir, x^{3} + ax^{2} + bx + c?Hough Transform para buscar segmentos de curva

Cualquiera conoce algunos sitios buenos que expliquen esto (no parece encontrar ninguno). O una explicación aquí si no hay uno :).

+0

Gracias a todos: voy a leer todo esto cuando tenga la oportunidad y seleccionar una solución. – ale

Respuesta

4

La esencia de la Transformada Hough Generalizada es que los "lados" del acumulador son la respuesta que está buscando. Si está intentando hacer coincidir las elipses o las curvas arbitrarias, en su caso a, b, c, los parámetros deben construir el acumulador 3D y buscar el máximo allí. Google "detección de elipse utilizando transformada de Hough" o "detección de forma arbitraria utilizando transformada de Hough".

Hay muchas maneras de optimizar su búsqueda en acumuladores multidimensionales, por lo que no tenga miedo de crear un espacio con parámetros HT multidimensional; puede darle una buena visión general de su problema.

Es posible que desee dividir su búsqueda en dos etapas; por ejemplo, cree un 2D clásico para sus parámetros a y b, luego use un acumulador 1D muy simple para buscar c, esto se ha hecho en detección de bordes, pero tenga en cuenta esta división puede introducir grandes errores si a, b, c interdependientes.

Formas de optimizar Transformada Hough multidimensional: (Probabilística) Transformada Hough aleatoria, Transformada Hough híbrida y Multidimensional.

También la Transformada de Hough generalizada y la Transformada de radón son casi sinónimos, por lo que para la detección de formas arbitrarias "Transformación de radón" puede brindarle mejores ideas: Hough Transform es una versión discreta de Radon Transform continuo.

1

Prueba con Google "Generalized Hough Transform" y encontrarás muchas cosas al respecto, incluido el artículo original de Ballard, que parece bastante legible. Cuál es el mejor de estos depende de dónde empiezas con esto, por lo que Google es probablemente tu mejor opción.

scholar.google.com ofrece muchos documentos, pero pocos son gratuitos (aunque si tiene acceso, es probablemente el mejor comienzo).

+0

Gracias Tom, sí, he echado un vistazo a algunos documentos. Sin embargo, lo que quiero saber es cómo restringir el espacio de votación a 2D. Tal vez me perdí de verlo en el documento original, pero no esperaba que estuviera allí porque es más una optimización. – ale

+0

Me parece que el ejemplo de la elipse de Ballard es bastante similar al que desea. Allí comienza con los 4 params libres en una elipse, y usa los invariantes inherentes al HT para eliminar algunos de ellos. – tom10

0

¿Solo necesita ubicar la curva para la que ya conoce sus parámetros a, b, c? Usando GHT puede crear un espacio de votación discreto desde su eq. Úselo para votar en un espacio 2d y encontrará su curva. Si está tratando de determinar a, b, c de Hough Transform, será más difícil :)

Cuestiones relacionadas