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í.

Deja una respuesta

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. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

A %d blogueros les gusta esto: