jueves, 15 de julio de 2010

Ejemplo Delimitacion Imagenes






Codigo:

%% Adquirir imagenes
I_original=imread('frutas.jpg');

%% Cambiar la imagen a escala de grises
I=rgb2gray(I_original);

%% Obtener el fondo de la imagen
background=imclose(I,strel('disk',58));

%% Identificacion de objetos
I2=imsubtract(background,I);

%% Binarizar imagen
lavel=graythresh(I2);
intensidad=lavel*255
BW=im2bw(I2,lavel);

%% Relleno de objetos (filtro de la media)
fill=imfill(BW,'holes');

%% Identificar objetos
[niveles, numObjects]=bwlabel(BW,4);
numObjects
stats=regionprops(niveles,'Eccentricity','Area','BoundingBox');
areas=[stats.Area];
excentricidad=[stats.Eccentricity]

%% Delimitar manzana
cantidad=0;
manzana=find(areas>80 & areas < style=""> statsmanzana=stats(manzana)
axes(handles.axes1)
imshow(I_original)
hold on;
cantidad =length(statsmanzana)*1+ cantidad ;
for idx = 1:length(statsmanzana);
h = rectangle ('Position',statsmanzana(idx).BoundingBox,...
'Curvature',[1,0.8],'LineWidth',5,'LineStyle','-.');
set (h,'EdgeColor',[0 0 1]);
hold on

end
hold off
disp([cantidad,'manzana'])
set(handles.valor,'string',cantidad)

2 comentarios:

  1. Este tema de delimitacion de imagenes dando relevancia color lo aplica bastante software en area de DELIMITACIÓN DE UNIDADES HIDROGRÁFICAS con el fin marcar zonas especificas de gran importancia a resltar.

    ResponderEliminar
  2. Esta tecnica de delimitar imagenes ayuda a ver la los objetos de la imagen como que tipo son la forma que tienen y si area para conoser tamaño etc.
    Este metodo en la actualidad se usa en el rango de la medicina para saber problemas de cancer y ver como solucionarlo o que hacer.

    ResponderEliminar