Codigo
%% Leemos la imagen
imagen_ori=imread('monedas.jpg');
figure(1)
imshow(imagen_ori);
title('Imagen Original')
%% la combierto a escala de grises
imagen=rgb2gray(imagen_ori);
figure(2)
imshow(imagen);
title('Imagen en Escala de Grises')
%% La paso a formato binario
threshold = graythresh(imagen); %Umbral de transformacion
imagen =im2bw(imagen,threshold);
figure(3)
imshow(imagen);
title('Imagen Binarizada')
%% remuevo cualquier elemento que tenga menos de 30 pixeles en negro
imagen = bwareaopen(imagen,300);
imagen = bwareaopen(~imagen,300);
figure(4)
imagen=~imagen;
imshow(imagen);
title('Imagen con filtro que quita residuos')
%% Encuentro los elementos en la imagen
[L Ne]=bwlabel(imagen);
%% Lee las propiedades de los elementos encontrados
prop=regionprops(L,'Area','Centroid','BoundingBox');
figure(5)
imshow(imagen_ori);
title('Imagen Original con los elementos encontrados y con rectangulo')
hold on
%% Halla el centroide y dibuja un rectangulo a su alrededor
for n=1:size(prop,1)
area=prop(n).Area; %Ubicamos su area.
cent=prop(n).Centroid; %Hallamos el resto de cualidades
X=cent(1);
Y=cent(2);
plot(X,Y,'r*')
rectangle('Position',prop(n).BoundingBox,'EdgeColor','g','LineWidth',2)
text(X-10,Y,'Hallado') %Escribimos en la imagen
text(X-100,Y+70,['Area: ',num2str(area)])
end
hold off