Seguimiento de objetos (2/3) – Detección de objetos en una imagen RGB

Una de las formas de detectar objetos en una imagen en RGB es mediante sus características de color, en esta lección aprenderás como hacer esto con Matlab, el cual te facilita bastante el procedimiento, a partir de la imagen del lado izquierdo obtendremos el resultado de la imagen del lado derecho.

 

Todas Encendidas 01 Binaria1

Código de esta lección:

function[centroides] = deteccion_de_objetos(im_entrada)

% im_entrada = imread('motor.tif');

imshow(im_entrada)

imR = double(im_entrada(:,:,1));
imG = double(im_entrada(:,:,2));
imB = double(im_entrada(:,:,3));

[N,M,Z]=size(im_entrada);
Y = ones(N,M);

Tr1 = 200.53;
Tr2 = 237.53;
Tg1 = 195.71;
Tg2 = 251.69;
Tb1 = 71.09;
Tb2 = 105.69;

for i=1:N;
 for j=1:M;
 if((imR(i,j) > Tr1 && imR(i,j) < Tr2) && (imG(i,j)>Tg1 && imG(i,j)<Tg2) && (imB(i,j)>Tb1 && imB(i,j)<Tb2))
 Y(i,j)=1;
 else
 Y(i,j)=0;
 end
 end
end
imshow(Y)

se = strel('disk',10);
imagen_cerrada = imclose(Y,se);

figure
imshow(imagen_cerrada)

bw = bwareaopen(imagen_cerrada,30);

figure
imshow(bw)

s = regionprops(bw,'centroid');
centroides = cat(1,s.Centroid);

end

Aprende a programar en Matlab con el curso completo Matlab desde Cero. Da click aquí para más detalles.

Puedes descargar el código aquí.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s