Propiedades de Regiones de Una Imagen

3
%% Propiedades de regiones de una imagen % Ejemplo de uso de la función REGIONPROPS %% Lectura de la imagen img=imread('practica_regionprop.jpg'); %% Convertir a escala de grises im_g=rgb2gray(img); %% Binarización umb=graythresh(im_g); bw=im2bw(im_g,umb); %% Mostrar imagen imshow(img) %% Etiquetar elementos conectados [L Ne]=bwlabel(bw); %% Calcular propiedades de los objetos de la imagen propied= regionprops(L); hold on %% Graficar las 'cajas' de frontera de los objetos for n=1:size(propied,1) rectangle('Position',propied(n).BoundingBox,'EdgeColor','g','LineWidth',2) end pause (3) %% Buscar áreas menores a 500 s=find([propied.Area]<500); %% Marcar áreas menores a 500 for n=1:size(s,2) rectangle('Position',propied(s(n)).BoundingBox,'EdgeColor','r','LineWidth',2) end pause (2) %% Eliminar áreas menores a 500 for n=1:size(s,2) d=round(propied(s(n)).BoundingBox); bw(d(2):d(2)+d(4),d(1):d(1)+d(3))=0; end figure imshow(bw) Como tomar fotos, con matlab. algunas veces nos topamos con problemas para tomar imagenes con matlab. esta es una solución. solo cambiando al argumento de la función --pause(argumento) . donde el argumento es en segundos para 1,2,3,etc y 0.1,0.2 etc segundos. el formato se puede cambiar de acuerdo a la cámara de ustedes. no duden en preguntar %% tomar foto clc,clear all,close all; imaqreset % sirve para resetear la compu y volver a instalar las camaras

Transcript of Propiedades de Regiones de Una Imagen

Page 1: Propiedades de Regiones de Una Imagen

%% Propiedades de regiones de una imagen% Ejemplo de uso de la función REGIONPROPS%% Lectura de la imagenimg=imread('practica_regionprop.jpg');%% Convertir a escala de grisesim_g=rgb2gray(img);%% Binarizaciónumb=graythresh(im_g);bw=im2bw(im_g,umb);%% Mostrar imagenimshow(img)%% Etiquetar elementos conectados[L Ne]=bwlabel(bw);%% Calcular propiedades de los objetos de la imagenpropied= regionprops(L);hold on%% Graficar las 'cajas' de frontera de los objetosfor n=1:size(propied,1)    rectangle('Position',propied(n).BoundingBox,'EdgeColor','g','LineWidth',2)endpause (3)%% Buscar áreas menores a 500s=find([propied.Area]<500);%% Marcar áreas menores a 500for n=1:size(s,2)    rectangle('Position',propied(s(n)).BoundingBox,'EdgeColor','r','LineWidth',2)endpause (2)%% Eliminar áreas menores a 500for n=1:size(s,2)    d=round(propied(s(n)).BoundingBox);    bw(d(2):d(2)+d(4),d(1):d(1)+d(3))=0;endfigureimshow(bw)

Como tomar fotos, con matlab.algunas veces nos topamos con problemas para tomar imagenes con matlab. esta es una solución. solo cambiando al argumento de la función  --pause(argumento) . donde el argumento es en segundos para 1,2,3,etc y 0.1,0.2 etc segundos.

el formato se puede cambiar de acuerdo a la cámara de ustedes.

no duden en preguntar

%% tomar fotoclc,clear all,close all;imaqreset                           % sirve para resetear la compu y volver a instalar las camaras                                     % que fueron instalados cuando matlab ya estaba en usoimaqhwinfo;adaptador=imaqhwinfo('winvideo');    % informa los tipos de camara que estan instaladoscamara=imaqhwinfo('winvideo',1);     % asigna a camara los valores de la camara seleccionadaformats=camara.SupportedFormats;     % muestra los formatos de la camaraVideo=videoinput('winvideo',1,'YUY2_352x288'); % toma el video de la camara seleccionada con el formato especificado 'YUY2_352x288'src = getselectedsource(Video);      % asigna src los parametros del video     % Los valores que voy a poner a continución son modificaciones a las

Page 2: Propiedades de Regiones de Una Imagen

propiedades de la cámaraget(src);set(src, 'Saturation',45);          % controla la saturacion de la foto 45,160preview(Video);                      % muestra el video preview tomadostart (Video);pause(5);                            % pausa el programa (tiempo en segundos)para luego hacer lo que sigue% he observado que con este tiempo de espera para empezar a tomar las% fotos la calidad de la imagen es muy buenafor p=1:2;   J=getsnapshot(Video);                   % funcion para tomar la foto   pause(0.5);                             % es el tiempo de espera entre una foto y otra   K=rgb2gray(J);                          % convierte la imagen a escala de grises   umbral=graythresh(K);   %umbral=0.45;                            %umbral para diferenciar entre el negro y blanco   bw=im2bw(K,umbral);                     %convierte la imagen a binario   figure(2),subplot(1,2,p),imshow(bw),title(p); %muestra las imagenes en binario   imwrite (bw,strcat(num2str(p),'.jpg'));  % nombra las fotos en formato jpgend stop(Video); %detiene el videodelete(Video); %elemina el video