Contar el número de figuras en una imagen

beruby - te devolvemos dinero por tus compras y reservas online
En este apartado vamos a aprender como contar el numero de figuras que aparecen en una imagen mediante Matlab:

Para ello utilizaremos una imagen que contiene un conjunto de cuadrados que leeremos mediante el comando 'imread'.A continuación se pasa la imagen a valores en binario con el comando 'im2bw' y posteriormente se pasan los objetos a contar a blanco y el fondo en negro solo si no están ya de esa forma mediante el comando 'not'. Por último con bwlabel etiquetamos cada objeto que se encuentra con números consecutivos 1,2,3.... y basta con encontrar el máximo elemento de Im_label para encontrar el numero de figuras que aparecen en la imagen.

Código:

clear all
im_rgb=imread('contarcuadrados.jpg','jpg');
figure(),imshow(im_rgb)
Im_bin=im2bw(im_rgb,0.5)
imshow(Im_bin)
Im_bin=not(Im_bin);
figure(),imshow(Im_bin)
Im_label=bwlabel(Im_bin,8);
n=max(max(Im_label))


Resultados:
Imagen original

Imagen preparada para contar el número de cuadrados

 Si ejecutamos el código nos devuelve el numero de figuras en la imagen n=6 que corresponden al numero de figuras que se observan.


4 comentarios:

  1. este codigo funciona para detectar el numero de mangos por ejemplo en una imagen?

    ResponderEliminar
  2. con ese codigo se puede contar otro tipos de elementos?

    ResponderEliminar
    Respuestas
    1. si funciona, mientras la imagen sea binaria el rotulador cuenta los objetos, aunque hay que tener cuidado con el ruido en la imagen.

      Eliminar