Wilde Jenner Socorro Arias, Leonardo Fabio Chavarro, Daniel Felipe Cruz, William Fernando
Rodriguez., Tratamiento de imágenes Grupo 208054_5., Tutora Paola Andrea Mateus.,
La umbralización es uno de los más importantes métodos de figure imshowpair(I,BW,'montage') % Mostrar imagen
segmentación. El objetivo es convertir una imagen en escala original a lo largo de la versión binaria lateral. [3]
de grises a una nueva con sólo dos niveles imagen binaria, de
c. ¿Qué es umbral de Otsu?
manera que los objetos queden separados del fondo.[1]
b. ¿Cuál es la diferencia entre umbralización global y local?
Otsu es un método de umbralización que utiliza la distribución
de probabilidad, la media y la varianza de las intensidades
Se diferencia que la umbralización global se usa cuando en la
para definir el umbral óptimo.[4]
imagen el objeto puede ser extraído del resto de la imagen
This paragraph of the first footnote will contain the date on which you National Institute of Standards and Technology, Boulder, CO 80305 USA (e-
submitted your paper for review. It will also contain support information, mail: author@ boulder.nist.gov).
including sponsor and financial support acknowledgment. For example, “This S. B. Author, Jr., was with Rice University, Houston, TX 77005 USA. He is
work was supported in part by the U.S. Department of Commerce under Grant now with the Department of Physics, Colorado State University, Fort Collins,
BS123456.” CO 80523 USA (e-mail: author@lamar.colostate.edu).
The next few paragraphs should contain the authors’ current affiliations, T. C. Author is with the Electrical Engineering Department, University of
including current address and e-mail. For example, F. A. Author is with the Colorado, Boulder, CO 80309 USA, on leave from the National Research
Institute for Metals, Tsukuba, Japan (e-mail: author@nrim.go.jp).
d. ¿Qué es reducción de ruido en una imagen binaria? Método de cuenca: Basado en la interpretación topológica, los
resultados son más estables, los limites detectados son más
Son algoritmos que tienen por objeto reducir el ruido y/o continuos
efectos espurios que pueden presentarse en una imagen a
consecuencia del proceso de captura, digitalización y Método en PDE: Funciona con ecuaciones diferenciales, es
transmisión. Su utilización es normalmente necesaria antes de más rápido, mejor para aplicaciones críticas en el tiempo.
la aplicación de un detector de bordes.[5]
Método ANN: Útil en la simulación del proceso de
e. ¿Qué es filtro mediano y cómo se implementa en aprendizaje para la toma de decisiones, no hay necesidad de
Matlab? escribir programas complejos con él.[9]
Se reemplaza el valor de cada píxel por la media de los valores
de los píxeles vecinos. Se puede operar mediante convolución i. ¿Qué es reconstrucción morfológica?
con una máscara determinada. Simplificar los datos de una imagen para preservar las
Ventaja, es el más simple, intuitivo y fácil de implementar, características esenciales y eliminar aspectos irrelevantes.
desventajas, sensible a cambios locales, Puede crear nuevas
intensidades de grises que no aparecían en la imagen. j. ¿Qué tipos de funciones morfológicas existen y cómo
B = medfilt2(A) realiza un filtrado medio de la imagen A en funcionan?
dos dimensiones. Cada píxel de salida contiene el valor medio
en un vecindario de 3 por 3 alrededor del píxel La erosión funciona con una compuerta and, expande el fondo,
correspondiente de la imagen de suaviza la frontera del objeto, remueve los objetos más
entrada. medfilt2 almohadillas de la imagen con 0s en los pequeños que la ventana.[10]
bordes, por lo que los valores de mediana para los puntos
dentro de la mitad de la anchura del vecindario ([m n]/2) de La dilatación funciona con una compuerta or, expande el
los bordes pueden aparecer distorsionados.[6] tamaño del objeto, suaviza la frontera del objeto, remueve los
huecos más pequeños que la ventana.
f. ¿Para qué sirven los filtros de suavizado en una imagen?
2. IMPLEMENTACIÓN DE CODIGOS
Emborronar la imagen:
Eliminar pequeños detalles antes de la segmentación de PUNTO 1
un objeto de interés.
Rellenar pequeños espacios. clc %Limpia la ventana de comandos
Eliminar ruido [7] clear all %Vacía el contenido del workspace
close all %Cierra todas las figuras
g. ¿Cuál es la diferencia entre ruido gaussiano y ruido de %%
sal y pimienta? % Wilde Socorro
Vitiligio=imread('Enferma1.jpg'); % Carga la información de
El ruido conocido como sal y pimienta tiene los pixeles de la la imagen Enferma 1 en la variable “Vitiligio”
imagen muy diferentes en color e intensidad a los pixeles Vitiligio=im2double(Vitiligio); %Convierte la imagen a
circundantes. El ruido de tipo gaussiano, todos los pixeles que precisión doble y la almacena en "Vitiligio"
componen la imagen cambian su valor de acuerdo con la figure; %crea una nueva ventana figura, pero sin mostrar la
distribución gaussiana [8] imagen aún
imshow(Vitiligio) %Carga en la ventana figure la imagen
h. Explique diferentes técnicas de segmentación de almacenada en Vitiligio
imágenes %%
umbral=0.73;% carga la variable umbral con el valor 0.73
Método de Umbral, Utiliza los picos de histograma de la binVitiligio=im2bw(Vitiligio,umbral); %Convertir la imagen a
imagen para encontrar valores particulares, sin necesidad de imagen binaria, basada en el rango de umbral
información previa. figure;%crea una nueva ventana figura, pero sin mostrar la
imagen aún
Método de bordes: Basado en la detección de discontinuidad, imshow(binVitiligio) %Carga en la ventana figure la imagen
bueno para imágenes que tienen mejor contraste entre objetos almacenada en "binVitiligio"
%%
Método en región: Utiliza la división de la imagen en regiones numpixels=10; %Almacena el valor 10 en la variable
homogéneas, es más inmune al ruido, útil cuando es fácil numpixels.
definir criterios de similitud Filtro1=bwareaopen(binVitiligio,numpixels); %Quitar los
objetos pequeños de la imagen binaria que tengan menos de
Método agrupación: Útil en la división en clústeres 10 px
homogéneos, difuso (borroso) utiliza la pertenencia parcial por figure;%crea una nueva ventana figura, pero sin mostrar la
lo tanto es más útil para los problemas reales. imagen aún
imshow(Filtro1)%Carga en la ventana figure la imagen 4 El valor del
almacenada en "Filtro1" 0.75 umbral es
200 adecuado pero
TABLE I el filtro esta
CODIGO 1
alto, elimina
Imagen Resultado Descripción
Umbral todos los
Numpixels objetos
1 Como el pequeños
0.6 umbral está
1000 bajo no está
capturando
bien el objeto
más grande y 5 El umbral esta
el filtro está 0.85 alto corta los
demasiado 500 objetos
alto, elimina grandes. El
todos los filtro esta
objetos grande y
pequeños de la elimina los
imagen. objetos
pequeños. Es
la, pero
combinación
umbral, filtro.
6 El umbral
0.73 capta la mayor
10 cantidad de
2 Hay una buena objetos
0.7 relación entre posibles sin
50 umbral y filtro defórmalos y
mostrando el filtro
objetos elimina muy
grandes bien los
medianos y objetos
pequeños demasiado
pequeños esta
imagen para
mi concepto es
un poco mejor
que la imagen
3 El umbral esta 2
0.8 alto y está
70 mostrando
imperfeccione
s en los PUNTO 2
objetos
grandes, el clc %Limpia la ventana de comandos
filtro está clear all %Vacía el contenido del workspace
eliminando las close all %Cierra todas las figuras
imágenes muy % Wilde Jenner Socorro Arias
pequeñas de %%
manera H = imread('Enferma1.jpg'); figure, imshow(H) % Carga la
adecuada. información de la imagen Enferma 1 en la variable “H”
I= rgb2gray(H); figure, imshow(I) %Convierte la imagen “H”
a escala de grises y la almacena en “I”
J = imnoise(I,'salt & pepper',0.02); figure, imshow(J)%agrega
el ruido de la sal y de la pimienta, donde 0.02 es la densidad
del ruido. Esto afecta aproximadamente 0.02*(I) píxeles.
%%
K = medfilt2(J);%Realiza un filtrado medio de la imagen A en figure; %crea una nueva ventana figura, pero sin mostrar la
dos dimensiones. Cada píxel de salida contiene el valor medio imagen aún
en un vecindario de 3 por 3 alrededor del píxel imshow(Vitiligio) %Carga en la ventana figure la imagen
correspondiente de la imagen de entrada almacenada en "Vitiligio"
%% GrayVitiligio=rgb2gray(Vitiligio); % Convierte la imagen
subplot(1,3,1); imshow(I); title('Original'); subplot(1,3,2); “Vitiligio” a escala de grises y la almacena en “GrayVitiligio”
imshow(J); title('Sal y pimienta'), subplot(1,3,3); imshow(K); figure; %crea una nueva ventana figura, pero sin mostrar la
title('Con filtro medio') % muestra la imagenes "I" "J" y "K" imagen aún
en una misma grafica imshow(GrayVitiligio) %Carga en la ventana figure la imagen
almacenada en "GrayVitiligio"
BordesCanny=edge(GrayVitiligio,'Canny');% Aplica el
metodo Canny a la imagen "GrayVitiligio" y lo almacena en
"BordesCanny"
figure; %crea una nueva ventana figura, pero sin mostrar la
imagen aún
imshow(BordesCanny) %Carga en la ventana figure la imagen
almacenada en "BordesCanny"
BordesSobel=edge(GrayVitiligio,'Sobel');% Aplica el metodo
Sobel a la imagen "GrayVitiligio" y lo almacena en
"BordesSobel"
clc %Limpia la ventana de comandos figure; %crea una nueva ventana figura, pero sin mostrar la
clear all %Vacía el contenido del workspace imagen aún
close all %Cierra todas las figuras imshow(BordesSobel)%Carga en la ventana figure la imagen
% Wilde Jenner Socorro Arias almacenada en "BordesSobel"
%%
H = imread('Enferma1.jpg'); figure, imshow(H) % Carga la ¿Qué hacen las funciones canny y sobel?
información de la imagen Enferma 1 en la variable “H”
I = rgb2gray(H); figure, imshow(I) %Convierte la imagen “H” Función canny encuentra aristas buscando los máximos
a escala de grises y la almacena en “I” locales del gradiente de la imagen utilizando la derivada de un
I = im2double(I); figure, imshow (I) % Convierte la variable filtro de Gauss. Este método utiliza dos umbrales para detectar
“I" a doble precisión y la almacenan en "I". bordes fuertes y débiles, incluidos los bordes débiles de la
J = imnoise(I,'gaussian',0.01); figure, imshow(J)%agrega el salida si están conectados a bordes fuertes. Al usar dos
ruido gaussiano, con variación 0.01. umbrales, el método Canny es menos probable que los otros
%% métodos que se engañen por el ruido y es más probable que
K = imgaussfilt(J,1); figure, imshow (K) % Filtra la imagen J detecte bordes débiles verdaderos.[11]
con un kernel alisador 2-D de Gauss con desviación 1
subplot(1,3,1); imshow(I); title('Original'); subplot(1,3,2); Función Sobel, calcula el gradiente de la intensidad de una
imshow(J); title('Ruido Gaussiano'), subplot(1,3,3); imagen en cada punto (pixel). Así, para cada punto, entrega la
imshow(K); title('Con filtrado de Gauss') % muestra la magnitud del mayor cambio posible
imagenes "I" "J" y "K" en una misma grafica Matemáticamente, el gradiente de una función de dos
variables para cada punto es un vector bidimensional. Para
cada punto de la imagen, el vector gradiente apunta en
dirección del incremento máximo posible de la intensidad, y la
magnitud del vector gradiente corresponde a la cantidad de
cambio de la intensidad en esa dirección.[12]
PUNTO 3
clc
clear all
close all
%Wilde Jenner Socorro Arias
Vitiligio=imread('Enferma1.jpg'); % Carga la información de
la imagen Enferma 1 en la variable “Vitiligio”
Función Resultado Descripción
Canny La función canny está
mostrando umbrales
tanto fuertes como
débiles por eso la imagen
no se ve bien
b)
Sobel Está encontrando
solamente aristas en
%% Wilde Jenner Socorro Arias
aquellos puntos donde la
se2=strel('square',2); %crea un elemento de estructuración
gradiente es máxima
cuadrada cuyo ancho es 2 píxeles.
como lo son los objetos
erosion2=imerode(BordesCanny,se2); % erosiona la Imagen
grandes medianos y
"BordesCanny" basandose en el objeto se2
pequeños del vitiligio
figure;%crea una nueva ventana figura, pero sin mostrar la
imagen aún
imshow(erosion2)%Carga en la ventana figure la imagen
almacenada en "erosion1"
PUNTO 4
a)
%% Wilde Jenner Socorro Arias
se1=strel('line',3,4); %crea un elemento de estructuración
lineal que es simétrico con respecto al centro de la vecindad. 3
es distancia a los centros y 4 el angulo de la linea
erosion1=imerode(BordesCanny,se1); % % erosiona la
Imagen "BordesCanny" basandose en el objeto se1
figure;%crea una nueva ventana figura, pero sin mostrar la
imagen aún
imshow(erosion1)%Carga en la ventana figure la imagen
almacenada en "erosion1"
d. ¿Qué es reducción de ruido en una imagen binaria? Discontinuidad, en los tonos de gris que permite detectar
puntos aislados
Se implementan a nivel de reducción de ruido (noise reduction Similaridad Permite construir regiones por división y fusión,
), sin embargo últimamente se están realizando muchos por crecimiento y umbralizacion
esfuerzos para conseguir sensores que capten el menor ruido Conectividad si existe una región tal que trace un camino que
posible en los fotodiodos, se pueden aplicar a nivel de grises o conecte
de cada uno de los componentes binarios
Métodos de segmentación
e. ¿Qué es filtro mediano y cómo se implementa en
Matlab? Locales: basadas en pixeles
Globales: Basados en la recopilación de información como los
histogramas
Métodos basados en bordes im2bw(vitiligo,umbral);%Se representa la imagen en forma
Métodos basados en regiones binaria ,especificando el nivel de luminicencia indexado
bwareopen(binvitiligo,numpixels);%Quita todos los objetos
Homogeneidad y proximidad geométrica como por ejemplo binarios que tienen menos pixeles que los indexados bajo la
técnicas de crecimiento, fusión o división variable ‘numpixels’
figure;
imshow(erosion2) Muestra la imagen anteriormente
erosionada
´ PUNTO 5