Extracción de características en imágenes digitales- Rotación de figuras en Matlab
A la verdad este es un ejemplo básico, las cosas se pueden complicar mucho más. La idea central es la de extraer características de un objeto único presente en una imagen, luego recortarlo y rotarlo a 90 grados.
La utilidad de este ejercicio es la de acomodar los objetos reconocidos para una posterior comparación según su geometría. Representa un paso previo en un sistema de reconocimiento de objetos.
Queda a gusto del lector aplicarle mayor complejidad.
Las sentencias utilizadas que se resaltan son:
- imcrop.
- imrotate.
%% Recortar imagen
IB3=imcrop(IB1,propiedades(1).BoundingBox); %cortar imagen
orientacionFinal=-90+propiedades(1).Orientation; %se calcula el angulo para rotar a 90 grados
IB4 = imrotate(IB3,orientacionFinal); %rotar la imagen a 90grados
Un ejemplo explicativo de extracción de características geométricas más completo puede ser visto en este blog en:
Allí brevemente se hace una introducción al uso de funciones en Matlab y se adjuntan imágenes de calibración.
Sobre el ejemplo
El ejemplo está pensado para una imagen con un único objeto, existen varias formas de complicar el problema, por ejemplo, teniendo varios objetos, etiquetarlos, alinearlos y separarlos contadolos.Para evitar complicaciones, se asume que en la figura solamente se encuentra un elemento en la imagen.
En el algoritmo se realizan los pasos generales de:
- Ajuste de parámetros iniciales.
- Lectura de la imagen.
- Convertir a escala de grises.
- Umbralización y Binarización.
- Invertir imagen.
- Etiquetado de áreas conectadas.
- Cálculo de propiedades de los objetos de la imagen.
- Con los elementos etiquetados, extraer las características geométricas:
- Area.
- Perímetro.
- Exentricidad.
- Centroides.
- Bounding Box.
- Recortar y copiar a una nueva imagen.
Comentarios
Publicar un comentario