domingo, 7 de abril de 2013
Contador de objetos con webcam en Matlab
El programa es muy similar al contador de objetos dibujados en un archivo JPG como el de la entrada anterior:
winvid = videoinput('winvideo',1,'YUY2_320x240'); % Probablemente tengas que ajustar esta linea a tu webcam
capt1 = getsnapshot(winvid);
img = rgb2gray(capt1);
bin = img <= min(min(img))+20;
%filtro antiruido tomado de Floydbot
magic=strel('square', 2);
binf=imerode(bin, magic);
cen = regionprops(binf,'centroid'); % Calculo de centroides
num = numel(cen); % Conteo de centroides
El archivo .fig y .m vienen en la carpeta que pueden descargar en el siguiente enlace:
sábado, 6 de abril de 2013
Visión por computadora: Contador de objetos en Matlab
Supongamos que hemos dibujado algunos objetos en Paint, por ejemplo:
Podemos implementar un programa en Matlab que cuente los objetos dibujados en una imagen como la anterior de la siguiente forma:
clear, clc
imagen = imread('objetos.jpg');
img = rgb2gray(imagen); %Conversión RGB a Escala de grises
imshow(imagen)
title('Imagen Original')
binaria = img<=20; % Binarización de la imagen
cen = regionprops(binaria,'centroid'); % Calculo de centroides
num = numel(cen); % Conteo de centroides
fprintf('Numero de objetos: %d\n',num)
Para este ejemplo he guardado la imagen en formato JPG, pero Matlab soporta además los formatos PNG, BMP, GIF, TIFF y XWD. La imagen, como deben recordar, debe encontrarse en el directorio de trabajo que estemos utilizando para que pueda ser llamada por el programa. Próximamente veremos como contar objetos dibujados en una hoja de papel utilizando una webcam.
Podemos implementar un programa en Matlab que cuente los objetos dibujados en una imagen como la anterior de la siguiente forma:
clear, clc
imagen = imread('objetos.jpg');
img = rgb2gray(imagen); %Conversión RGB a Escala de grises
imshow(imagen)
title('Imagen Original')
binaria = img<=20; % Binarización de la imagen
cen = regionprops(binaria,'centroid'); % Calculo de centroides
num = numel(cen); % Conteo de centroides
fprintf('Numero de objetos: %d\n',num)
Para este ejemplo he guardado la imagen en formato JPG, pero Matlab soporta además los formatos PNG, BMP, GIF, TIFF y XWD. La imagen, como deben recordar, debe encontrarse en el directorio de trabajo que estemos utilizando para que pueda ser llamada por el programa. Próximamente veremos como contar objetos dibujados en una hoja de papel utilizando una webcam.
Suscribirse a:
Entradas (Atom)