Para está tarea se utilizaron las rutinas anteriores para poder
encontrar las separaciones que existen entre componentes de la imagen y poder
diferenciarlos.
Para detectar los contornos se realizaron los siguientes pasos:
- Conversión de imagen a escala de grises.
- Convolución de la imagen con la máscara aplicada anteriormente
- Binarización de la imagen
Aplique lo anterior a una nueva imagen para ver el
comportamiento de la imagen con menos componentes.
Código Binarización https://gist.github.com/vane90/4983297
Detectar
formas
Para
realizar el bfs utilice como base el algoritmo bfs utilizado por la Dra con
texto ASCII visto en clase. Después de tener los contornos marcados donde tenemos un punto de inicio en las coordenadas x, y, se
guarda el valor de su píxel en una variable, así poder recorrer todos los
píxeles que son del mismo color y marcarlos de un color determinado.
Mientras se recorren estos píxeles se va contando la cantidad de los píxeles para después calcular el porcentaje que tiene esa figura con respecto al total de píxeles y al ir recorreriendo cada píxel de la imagen binarizada, se aplicara BFS a cada pixel negro que se encuentre y coloreando sus vecinos con un color aleatorio.
Ahora el componente más grande es el fondo y se colorea gris.
Para hacer esto primero se necesitaba tener coloreadas las figuras, después se saca un
porcentaje dependiendo de la cantidad de píxeles que cubre una figura
con respecto a la cantidad de píxeles totales de la imagen, una vez
que se tiene cual es la de mayor porcentaje con ese color que se guardo se hace de nuevo bfs() para pintar todo el fondo de color
gris.
Imagen con centros, porcentajes y etiquetas:
Porcentajes
Otro ejemplo :
Ahora lo que sigue es dibujar el centro de masa esto se obtiene sumando sus
coordenadas "x" y "y" para después promediarlas. Al lado del centro de masa se agrega una etiqueta del ID del componente al que pertenece.
Porcentajes
Otro ejemplo :
Repositorio :
OK; 5 pts.
ResponderEliminar