- Detectar elipses marcados con tonos naranja.
- Marcar el centro con un punto azul
- Poner una etiqueta ID
- Imprimir un listado de los semidiametros perpendiculares y su porcentaje con la diagonal máxima de la imagen
Para realizar esto, se nos pide utilizar el método de la cuerda tangente, es por eso que se hacen los siguientes pasos:
- Cambiar a grises
- Sacar convolución Laplaciana para sacar bordes
- Normalizo la imagen
- Binarizo los datos
- Sacamos el promedio
- Se agrega un umbral
- Agregamos BFS para detectar todos los bordes
- Los pintamos de diferentes colores
- Sacamos mascara de sobel en X
- Sacamos mascara de sobel en Y
- Generamos puntos aleatorios para cada borde detectado
- Calculamos su theta
- Creamos dos lineas tangenciales a los bordes
- Se calcula su punto medio
- Realizamos los votos a partir de esa linea hasta al final del borde siguiente
- Repetimos varias veces para obtener mejor precisión en el centro
- Se calcula los radios en X y en Y
- dibujamos un punto entre 0 a 360 grados a partir de los datos obtenidos
- Vemos el elipse detectado en un tono anaranjado
Les muestro unas capturas de pantalla del procedimiento
Otros ejemplos:
Este es el código de la función principal, si quieren ver mi repositorio, ahí se encuentra completo.
OK, 5 pts.
ResponderEliminar