Actualmente, estoy enfrentando, en mi opinión, un problema bastante común que debería ser bastante fácil de resolver, pero hasta ahora todos mis planteamientos han fallado, así que estoy recurriendo a usted en busca de ayuda.Enfoque de coincidencia de formas/patrones en Computer Vision
Creo que el problema se explica mejor con algunas ilustraciones. Tengo algunos patrones como estos dos:
también tengo una imagen como (probablemente mejor, porque la foto ésta se originó a partir era bastante mal iluminada) esto:
(Observe cómo la escala de la plantilla se ajusta al tamaño de la imagen)
El objetivo final es una herramienta que determina si el usuario muestra un gesto de pulgar arriba/pulgar abajo y también algunos ángulos intermedios. Así que quiero hacer coincidir los patrones con la imagen y ver cuál se parece más a la imagen (o para ser más preciso, el ángulo que muestra la mano). Sé la dirección en la que se muestra el pulgar en el patrón, así que si encuentro el patrón que se ve idéntico, también tengo el ángulo.
estoy trabajando con OpenCV (con Python Bindings) y ya intentado cvMatchTemplate y MatchShapes pero hasta el momento no es realmente funcionar de forma fiable.
Solo puedo adivinar por qué MatchTemplate falló pero creo que un patrón más pequeño con un blanco más pequeño encaja completamente en el área blanca de una imagen creando así el mejor factor de coincidencia aunque es obvio que realmente no se ven iguales.
¿Hay algunos métodos ocultos en OpenCV que aún no he encontrado o hay un algoritmo conocido para ese tipo de problema que debo volver a implementar?
Feliz Año Nuevo.
sí, las imágenes provistas son imágenes originales. es solo que, por ejemplo, la segunda imagen de patrón no tiene el mejor valor de coincidencia en comparación con la imagen de muestra. incluso cuando tienen casi el mismo tamaño que en la imagen. ¿Recomiendas un método especial matchtemplate (CV_TM_SQDIFF, ...)? ¿cuál es el valor que obtengo? error para la imagen completa? distancia por píxel (por lo que debo dividirlo por el tamaño de la imagen o algo así?) – Nicolas
Actualicé mi respuesta para responder a sus preguntas. –
Para una forma "elástica" como un puño, las plantillas de coincidencia pueden no funcionar siempre tan bien como te gustaría. La rotación, la escala y las transformaciones afines juntas no tienen en cuenta la rotación por partes y el estiramiento de los componentes individuales. Si una combinación de técnicas morfológicas y de segmentación no funciona, entonces considere buscar documentos sobre la "descomposición de la forma". – Rethunk