
Función DMaha
Publicado por David (7 intervenciones) el 04/02/2014 15:45:32
Buenas tardes a todos!!
Os escribo porque estoy teniendo un problema con esa función, ya que matlab me dice que no existe dicha función.
La secuencia creada la necesito para la detección de ciertos colores en una imagen. La secuencia de comandos es la siguiente:
IM=imread('1.tif');
subplot(2,2,1);
imshow(IM); title('Imagen Original');
[nf nc c]=size(IM);
disp('Selecciones 1 punto de color para el filtro...');
[x y]=ginput(1);
x=round(x);
y=round(y);
colormedio1=[IM(y,x,1);IM(y,x,2);IM(y,x,3)];
MC=[1 0 0;0 1 0;0 0 1];
MCi=inv(MC);
IM2=IM;
disp('Espere unos segundos mientras se aplica el filtro esférico de color...');
for f=1:nf
for c=1:nc
z=[IM(f,c,1); IM(f,c,2); IM(f,c,3)];
d2=DMaha(z,colormedio1,MCi);
if d2>0.12,
IM2(f,c,:)=[0 0 0];
end;
end;
end;
subplot(2,2,2);
imshow(IM2);
title('Filtro Distancia Euclidiana');
Os escribo porque estoy teniendo un problema con esa función, ya que matlab me dice que no existe dicha función.
La secuencia creada la necesito para la detección de ciertos colores en una imagen. La secuencia de comandos es la siguiente:
IM=imread('1.tif');
subplot(2,2,1);
imshow(IM); title('Imagen Original');
[nf nc c]=size(IM);
disp('Selecciones 1 punto de color para el filtro...');
[x y]=ginput(1);
x=round(x);
y=round(y);
colormedio1=[IM(y,x,1);IM(y,x,2);IM(y,x,3)];
MC=[1 0 0;0 1 0;0 0 1];
MCi=inv(MC);
IM2=IM;
disp('Espere unos segundos mientras se aplica el filtro esférico de color...');
for f=1:nf
for c=1:nc
z=[IM(f,c,1); IM(f,c,2); IM(f,c,3)];
d2=DMaha(z,colormedio1,MCi);
if d2>0.12,
IM2(f,c,:)=[0 0 0];
end;
end;
end;
subplot(2,2,2);
imshow(IM2);
title('Filtro Distancia Euclidiana');
Valora esta pregunta


0