El algoritmo consiste en tomar un punto en la izquierda de la forma ya detectada (no necesariamente, pero recomendable), este será el primer punto de la envoltura, despues se hace girar la envoltura para buscar al siguiente punto.
Para terminar los giros se completan los 360 grados, de esta manera quedará comletamente envuelta.
Código:
Las siguientes imagenes muestran el proceso:
Imagen original
Binarización
Convex hull
Imagen original
Binarización
Normalización
Convex Hull
Se puede apreciar que esta imagen no tenía los bordes definidos, así que apliqué la normalización, sin embargo los bordes quedan no muy bien marcados, así que apliqué anchura a los pixeles del borde.
El proceso es facil, solo se recorre la imagen y se busca los bordes de un color, al pixel que tenga el color deseado, tomaremos sus vecinos diagonales y los pintaremos del mismo color. El resultado es una imagen con mejor definición de bordes.
De esta manera, antes la imagen de las figuras estaba así:
Original
Sin bordes definidos, se pierden con los filtros
Ahora está así:
Código:
Liga al proyecto:
https://github.com/victoralex911/vision-computacional
Muy bien; 10 pts lab 3.
ResponderBorrar