Laboratorio de Visión Computacional
Actividad 7
Actividad 7
Para la actividad de la semana se nos pidió probar la detección de agujeros con fotos de objetos tomadas por nosotros mismos. Para cada punto encontrado como pico del histograma se trazo una línea recta que lo cruzaba, para los casos del histograma vertical y el horizontal, para después de esto observar las intersecciones de las líneas donde debería de encontrarse un agujero.
A diferencia del código presentado en la publicación de este mismo tema pero para la entrega de la clase, tenemos ahora el código correspondiente para el trazo de los histogramas sobre la imagen y también el código que dibuja las líneas que intersectan los puntos de los picos encontrados.
Como primer ejemplo tengo una imagen de un enchufe de electricidad, donde podemos notar como en la primer imagen donde se muestra el histograma encontramos dos picos para el caso del histograma vertical y dos para el horizontal también, que posteriormente se muestra que de los 4 puntos donde se intersectaron las 4 rectas, dos de ellos son marcados con punto amarillo porque se comprobó que correspondían a puntos donde se encontraba un agujero.
Luego tome una fotografía más a una de las caras de un rallador de quesos el cual contenía un total de 32 agujeros y probé con el programa para ver si era posible detectarlos a todos. El resultado, como se ve en las siguientes imágenes, fue de una detección casi perfecta donde todos menos el agujero de la esquina inferior derecha fue detectado, y la razón es porque en el histograma vertical el pico se encontró un poco más a la izquierda y las líneas que cruzaron no entraron en el espacio de este agujero, por lo que fue descartado como agujero, pero en todos los demás pareció no haber ningún problema.
Aquí esta el resultado al colorear todos los agujeros de un color morado y etiquetados con un ID cada uno de ellos.
Código
Otra prueba más fue con un plato con un solo agujero, donde podemos observar que en el histograma se ven claramente donde están esos picos (valles, si se analizan desde la otra perspectiva), y el cruce de las líneas de los correspondientes picos indican el lugar donde debe encontrarse el agujero.
Y por último una prueba más con un colador para las ollas de vapor que contiene varios agujeros en diferentes tamaños, donde el histograma también logra indicar donde están los picos donde se encuentran estos agujeros.
Se marca con un punto amarillo donde la intersección de las líneas logra pasa por un agujero detectado.
Y en la siguiente imagen vemos los agujeros perfectamente detectados, con el único detalle de que en la foto un destello de luz corta uno de los agujeros y los detecta como dos agujeros independientes, pero como se observa el agujero completo es rellenado con algún color cercano a morado.
Y como se hizo para la entrega de la clase, en cada una de las pruebas el programa imprime en terminal el lugar donde se encontró el agujero y el tamaño del agujero en porcentaje del tamaño de la imagen completa. Enseguida una muestra.
Referencias:
Elisa Schaeffer - Detección de Agujeros
Bien, 10 pts.
ResponderEliminar