Procesamiento de imágenes y Bioseñales
Faculta de Ingeniería Eléctrica y Electrónica
EE449 Introducción a la Ingeniería Biomédica
Práctica calificada N° 2
Autor:
Campos Quintana, Kenyo
kcamposq@[Link]
Universidad Nacional de Ingeniería
Lima, Perú
Docente:
Luis Miguel Romero Goytendia
INTRODUCCION
El procesamiento o tratamiento de imágenes, se encarga de estudiar las técnicas y mecanismos que
permiten aplicar algoritmos matemáticos a imágenes en un sistema digital. Estos mecanismos
consisten en diferencia procesos: seleccionar y extraer información útil, mejorar, resaltar, almacenar
las imágenes. Las tareas usuales son mejora de contraste, filtraje de la imagen, restauración y métodos
estadísticos.
DESARROLLO
Utilice el programa Octave para realizar el efecto publicitario de color sobre grises. La imagen para
procesar se muestra en la figura 1 y deberá seleccionar la segunda ficha verde de arriba hacia abajo.
La figura 1 deberá pasar por 6 procesos: cargar imagen original, cambiar a escalas en grises,
seleccionar y separa la banda verde, aplicar el filtro de mediana, corrección del factor Gamma,
binarización de la máscara y finalmente resaltar el color sobre la ficha mencionada.
Figura 1. Imagen original RGB llamada ‘[Link]’
ALGORITMO
El programa se ejecuta mediante el Open Source Octave - 6.2.0 y para la simulación es necesario
instalar el paquete que nos permite trabajar en el procesamiento de imágenes ‘image’. De manera
similar, cada vez que se necesita corre el programa se deberá invocar al paquete image. Tanto el
algoritmo como la imagen deben estar ubicados en la misma carpeta.
El código creado consiste en varios procesos, etapas y emplea diversos comandos del package image:
imread ( ), imshow ( ), rgb2gray ( ), double ( ), medfilter2 ( ), imadjust ( ), ginput( ), imadjus ( ). Estos
comandos permiten: cargar la imagen, mostrar imagen, convertir imagen, aplicar filtros, seleccionar
mediante un clic y transformar la imagen.
% 1° parte: Cargamos el 'paquete IMAGE' para la simulacion del
programa.
pkg load image
% 2° parte: Cargamos la imagen original RGB de color al programa
Octave.
im =imread('[Link]');
figure(1);
subplot(3,3,1);
imshow(im);
title('1. Imagen original');
% 3° parte: Transformamos la imagen original a escala de grises.
gris=rgb2gray(im);
subplot(3,3,2);
imshow(gris);
title('2. Escala de grises');
% 4° parte: Descomponer la imagen RGB en tres Bandas (B. Roja, B.
Verde y B. Azul).
imR=double(im(:,:,1));
imG=double(im(:,:,2));
imB=double(im(:,:,3));
subplot(3,3,3);
imshow(imG,gray);
title('3. Plano verde de RGB');
% 5° parte: Aplicamos el filtro de la mediana uusando el comando
'medfilt2'.
imG2=(imG-imR-imB);
masc=(imG2>70);
imR2=imG2.*masc;
subplot(3,3,4);
imG2=medfilt2(imG2,true(5));
imshow(imG2);
title('[Link] mediana');
% 6° parte: Aplicamos el factor Gamma a la imagen agustada y
realizamos CLICK sobre la segunda ficha verde.
imG2=imG2/255;
imG3=imadjust(imG2,[],[],1);
subplot(3,3,5);
imshow(imG3, []);
title('5. Gamma factor 1');
disp('En la IMAGEN 5, click en el centro de la FICHA: ');
[x y]=ginput(1);
y=round(y);
x=round(x);
% 7° parte: Convertimos a binario la mascara.
masc=0.*imG3;
T=38;
masc(y-T:y+T,x-T:x+T)=masc(y-T:y+T,x-T:x+T)+1;
imG4=(double(imG3>0.01)).*masc;
subplot(3,3,6);
imshow(imG4,[]);title('6. Binarizacion de mascara');
% 8° parte: Mostramos el efecto final solicitado por el programa.
masc2=1-(imG4);
imR=double(gris).*masc2/255;
imG=double(gris)/255;
imB=double(gris).*masc2/255;
imFinal=cat(3,imR,imG,imB);
subplot(3,3,8);
imshow(imFinal);
title('EFECTO BUSCADO');
OBSERVACIONES
1. Es necesario transformar la imagen al formado double porque nos ayudar a no perder
información y evitar distorsionar la imagen en los diferentes procesos que se aplican.
2. Se pasa a escalas en grises la imagen original porque el objetivo es transformar la imagen en
binario. Este mecanismo nos facilita el trabajo de transformar la imagen.
3. Es necesario instalar el paquete image porque el Octave no trae instalado por defecto y cada
vez que se compile el programa se deben cargar los paquetes necesarios.
4. Cuando se presenten problema en la instalación de paquetes se debe a que el computador no
tiene el gesto de paquetes y debe ser instalado para solucionar el inconveniente. En el caso
de macOS el gestor de paquetes es el homebrew y puede acceder mediante el siguiente enlace:
[Link]
RESULTADO
La Figura 2 muestra el resultado de realizar trasformaciones a la Figura 1, después de aplicar
diversas transformación y filtros en el procesamiento de la imagen.
Figura 2. Resultado final de las transformaciones y el procesamiento.