Primero se va a adquirir una imagen que contenga objetos redondos, debido a que la identificación de objetos seran mediante propiedades propias de dichos objetos.

figure; imshow(image_or);
Ahora se va a crear una imagen con una intensidad de escala de grises a partir de la imagen a color RGB, mediante el comando rgb2gray()

figure; imshow(image)
Se crea un elemento 'disk', es decir en forma de disco, y se lo hace para preservar la naturaleza circular del objeto.
En este caso se va a especificar un radio de 88 pixeles para llenar la cámara mas grande.
se=strel('disk',88);
Se procede a ejecutar la operación close en la imagen, que servirá para detectar el fondo de la imagen propuesta
closeBW=imclose(image,se);
Para identificar los objetos, se restan las dos matrices, es decir la matriz a escala de grises y la matriz que identifica el fondo de la imagen.

figure; imshow(iden)
Con graythresh() se logra calcular el umbral que podrá ser utilizado para convertir una intensidad de imagena una imagen binaria utilizando im2bw

intensidad=level*255
Binarizar imagen
BW=im2bw(iden,level);
figure; imshow(BW)
Se llena los agujeros de la imagen binaria BW.

figure; imshow(fill)
Para identificar a cada objeto, como por ejemplo el número de objetos conectados, encontrados en la imagen BW.
[niveles, num]=bwlabel(BW,8);
num
Stats es una matrizcon longitud igual al número de objetos en la imagen binaria.
Con regionprops determina las propiedades de cada objeto conectado en la imagen binaria.
stats=regionprops(niveles,'Eccentricity','Area','BoundingBox');
Eccentricity: el valor está entre 1 y 0. Si la excentricidad es 0 se trata de un círculo, y si la excentricidad es 1 se trata de un segmento lineal.
Area: el número real de pixeles en la región.
BoundingBox: el más pequeño rectángulo que contiene la región.
areas=[stats.Area]
excentricidad=[stats.Eccentrincity]