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.
este codigo funciona para detectar el numero de mangos por ejemplo en una imagen?
ResponderEliminarcon ese codigo se puede contar otro tipos de elementos?
ResponderEliminarsi funciona, mientras la imagen sea binaria el rotulador cuenta los objetos, aunque hay que tener cuidado con el ruido en la imagen.
Eliminarcómo hago para contar personas ?
ResponderEliminar