Debido a inconvenientes externos, solo colocare uno de los ejemplos para que estudien para el dia de mañana....
Quiero pedirles disculpas puesto que los dos ejemplos estaban listos pero al momento de subirlos al blog, lo que se realizo fue un guardado y no se publicaron.
Ejemplo Principal: Este ejemplo consiste en tomar una imagen y encontrar el elemento con la menor y mayor área.
Imagen entrada
Imagen de Salida
Fijarse que se caracterizo el tratamiento en solo escoger el elemento de mayor y menor area, se ubicaron y se le escribio un texto diciendo HALLADO
Código
%% 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
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