algorithm - personas - reconocimiento de objetos raspberry
¿Cuál es el algoritmo que usa opencv para encontrar contornos? (2)
Necesito usar cv::FindContours()
en un programa y tengo que saber el algoritmo detrás de eso.
¿Qué algoritmo usa openCV para encontrar contornos?
¿Como funciona?
A partir de septiembre de 2018, el documento está disponible a través de Google Scholar . Sin embargo, aquí está el resumen en caso de que el papel sea retirado:
Se proponen dos algoritmos de seguimiento de bordes para el análisis topológico de imágenes binarias digitalizadas. El primero determina las relaciones de entorno entre los bordes de una imagen binaria. Dado que los bordes exteriores y los bordes de los orificios tienen una correspondencia uno a uno con los componentes conectados de l-pixels y con los orificios, respectivamente, el algoritmo propuesto produce una representación de una imagen binaria, de la cual se puede extraer algún tipo de Características sin reconstruir la imagen. El segundo algoritmo, que es una versión modificada del primero, sigue solo los bordes más externos (es decir, los bordes externos que no están rodeados por orificios). Estos algoritmos se pueden usar de manera efectiva en el conteo de componentes, el encogimiento y el análisis estructural topológico de imágenes binarias, cuando se usa una computadora digital secuencial.
Si lees la documentation que se menciona, esta función implementa el algoritmo de:
Suzuki, S. y Abe, K., Análisis estructural topológico de imágenes binarias digitalizadas por seguimiento de bordes. CVGIP 30 1, pp 32-46 (1985)
OpenCV es de código abierto si desea ver cómo se implementa esto, solo necesita leer el código: https://github.com/opencv/opencv/blob/master/modules/imgproc/src/contours.cpp#L1655
Una de las respuestas a esta pregunta tiene el enlace al documento en cuestión , ese enlace está muerto y el papel está detrás de un muro de pago, tal vez Google pueda ayudarlo a encontrar una copia gratuita.