Académique Documents
Professionnel Documents
Culture Documents
El ejercicio propuesto en clase consistió en realizar la segmentación de los colores RGB, CMY y blanco de una
imagen mediante la definición de distancia Euclidiana.
Desarrollo
Partiendo de la definición de la distancia Euclidiana para la segmentación de color, se tiene que nos permite
conocer la cercanía de cada pixel de la imagen a un valor deseado que en el caso de una imagen es a un color
deseado. La fórmula de la distancia Euclidiana es la siguiente.
Código.
El código del algoritmo anteriormente explicado se muestra a continuación
clc
close all
clear all
I=imread('C:\Users\SergioIsahí\Pictures\c1.png');
[m n c]=size(I);
Idouble=double(I);
for i=1:m
for j=1:n
DRed=((255-Idouble(i,j,1))^2+(0-Idouble(i,j,2))^2+(0-Idouble(i,j,3))^2)^.5;
DGreen=((0-Idouble(i,j,1))^2+(255-Idouble(i,j,2))^2+(0-Idouble(i,j,3))^2)^.5;
DBlue=((0-Idouble(i,j,1))^2+(0-Idouble(i,j,2))^2+(255-Idouble(i,j,3))^2)^.5;
DCyan=((Idouble(i,j,1))^2+(255-Idouble(i,j,2))^2+(255-Idouble(i,j,3))^2)^.5;
DMagenta=((255-Idouble(i,j,1))^2+(Idouble(i,j,2))^2+(255-Idouble(i,j,3))^2)^.5;
DYellow=((255-Idouble(i,j,1))^2+(255-Idouble(i,j,2))^2+(Idouble(i,j,3))^2)^.5;
DWhite=((255-Idouble(i,j,1))^2+(255-Idouble(i,j,2))^2+(255-Idouble(i,j,3))^2)^.5;
DBlack=((Idouble(i,j,1))^2+(Idouble(i,j,2))^2+(Idouble(i,j,3))^2)^.5;
minimo=min([DRed,DGreen,DBlue,DCyan,DMagenta,DYellow,DWhite,DBlack]);
maximo=max([DRed,DGreen,DBlue,DCyan,DMagenta,DYellow,DWhite,DBlack]);
if minimo==DRed
Idouble(i,j,1)=255;Idouble(i,j,2)=0;Idouble(i,j,3)=0;
elseif minimo==DGreen
Idouble(i,j,1)=0; Idouble(i,j,2)=255; Idouble(i,j,3)=0;
elseif minimo==DBlue
Idouble(i,j,1)=0; Idouble(i,j,2)=0; Idouble(i,j,3)=255;
elseif minimo==DCyan
Sistemas de Visión Artificial
Alumno: Garrido Castañeda Sergio Isahí. Grupo: 4MV4
subplot(2,4,1);imshow(I);title('Original');
subplot(2,4,2);imshow(Ired8bits);title('Rojo');
subplot(2,4,3);imshow(Igreen8bits);title('Verde');
subplot(2,4,4);imshow(Iblue8bits);title('Azul');
subplot(2,4,5);imshow(Icyan8bits);title('Cyan');
subplot(2,4,6);imshow(Imagenta8bits);title('Magenta');
subplot(2,4,7);imshow(Iyellow8bits);title('Amarillo');
subplot(2,4,8);imshow(Iwhite8bits);title('Blanco');
Resultados.
A continuación se muestran las imágenes resultantes de cada segmentación.
Se puede apreciar claramente que cada pixel de la imagen se relaciona únicamente a una segmentación de
acuerdo a la similardad que cuenta con el color a segmentar.