Documente Academic
Documente Profesional
Documente Cultură
Palabras claves – Bancarización, gaussiano Otsu, umbralización. Binarización es una técnica que se utiliza en tratamiento de
imágenes para convertir una imagen que se encuentra en
escalas de grises a una forma binaria en donde los colores son
I. INTRODUCCION blanco y negro. Este método utiliza un valor llamado umbral
una comparación de la siguiente manera: si el valor del pixel
E n este trabajo se van a responder a las preguntas es mayor al valor del umbral
entonces el pixel lo pintamos de color blanco, pero si el pixel
propuestas sobre bancarización, umbralización, Umbral Otsu,
reducción de ruido, entre otras. Al responder estas preguntas no supera el valor umbral
se van a definir una serie de conceptos que son necesarios para entonces el pixel pinta de negro.(“Imagen binaria,” n.d.)
entender los ejercicios que se van a realizar posteriormente.
Luego se realizan una serie de códigos en Matlab donde ¿Cuál es la diferencia entre umbralización global y local?
utilizamos el tratamiento de imágenes y las técnicas de esta ¿Cuál es su implementación en Matlab?
línea de estudio para seguir con el proyecto final de la
detección del Melanoma en la piel. La diferencia entre estos dos métodos simplemente varia en el
área de imagen que abarca cada uno de los métodos. En el
método de Umbralización Global se aplica a toda la imagen.
La Umbralización Local se aplica solo a una zona de la
II. OBJETIVOS imagen. Esto se utiliza para realizar binarización global o
binarización local para mejorar la detección de las formas que
Implementar las técnicas de tratamiento de imágenes necesitamos.
para la detección del melanoma
Investigar sobre los conceptos de tratamiento de ¿Qué es umbral de Otsu?
imágenes para responder las preguntas propuestas.
Analizar los resultados del tratamiento de imágenes El valor Umbral Otsu es un valor que se obtiene de un
realizados en el programa Matlab. algoritmo y se utiliza para capturar la figura que necesitamos
de la imagen analizada. Con ayuda del valor umbral y este
método es posible obtener todos los pixeles que conforman el
objeto que se necesita analizar de cualquier imagen.
Cuando abra Formato de artículo, seleccione el “Botón
Esquema” del menú “Ver” en la barra de menú (Ver | Botón ¿Qué es reducción de ruido en una imagen binaria ?
Esquema) que le permite ver las notas a pie de página.
Entonces teclee encima de las secciones de Formato de El ruido de una imagen binaria se puede identificar porque los
artículo o corte y pegue de otro documento y entonces use los valores de intensidad de un grupo de pixeles no son estables.
estilos. El menú desplegable de estilo está a la izquierda de la Entonces para reducir el ruido de la imagen se debe sacar el
Barra de Herramientas en la ventana de Word (por ejemplo, el promedio de los pixeles vecinos para estabilizar los valores de
estilo en este lugar del documento es “Texto” o “Text”). intensidad de los pixeles.
Resalte una sección que usted quiera diseñar con un cierto
¿Qué es filtro mediano y cómo se implementa en Matlab?
grupo vecinos de pixeles para poder pinar un pixel que tenga La reconstrucción morfológica se aplica para en el tratamiento
una intensidad diferente. de imágenes para reconstruir figuras. Esta técnica aplica los
Para implementar este filtro en Matlab se utilizan las siguientes métodos:
siguientes líneas de código:
Script para implementar un filtro mediano Tipo de Figura
1- Imagen = imread(‘Enferma4.jpg’)
2- imagen_g = rgb2gray(imagen);
reconstrucción
3- filtrada2 = medfilt2(imagen_g) Morfológica
Lineal
¿Para qué sirven los filtros de suavizado en una imagen?
f. ¿Para qué sirven los filtros de suavizado en una h. Explique diferentes técnicas de segmentación de
imagen? imágenes
Tienen por objeto reducir el ruido y/o efectos Umbralización La umbralización es uno de los
espurios que pueden presentarse en una imagen a algoritmos de segmentación más sencillos. La idea es
consecuencia del proceso de captura, digitalización y que muchas veces se representan objetos sobre una
transmisión. Su utilización es normalmente necesaria superficie del mismo color [FuVi]. Esta técnica
antes de la aplicación de un detector de bordes. consiste en filtrar los píxeles que forman la imagen
de forma que si superan un umbral se pondrán a 0. En
Existen distintos tipos de algoritmos que permiten la caso contrario el se pondrán a 1 o no se modificará.
reducción del ruido. En esta práctica veremos Locales - agrupan pixels en base a sus atributos
algunos filtros lineales (convolución de una imagen
con una máscara predefinida) y no lineales Detección de discontinuidades Sabemos que
(operación no lineal con los píxeles del entorno de representamos una imagen como una matriz. En el
vecindad). caso de una imagen de grises cada píxel se
representara mediante un elemento de la matriz.
g. ¿Cuál es la diferencia entre ruido gaussiano y ruido Podemos detectar los píxeles que tienen distinto valor
de sal y pimienta? de los que le rodean aplicando distintas máscaras:
función a sus vecinos y lo asociaremos a ellos en el Procesamiento morfológico en niveles de grises Las
caso de que la verifiquen. operaciones de erosión y dilatación son crecientes,
respectan el orden presente en la estructura del
Watershed Una forma amable de presentar este conjunto.
método de segmentación es compararla imagen con
un terreno en el que la intensidad de cada píxel indica Apertura y cierre Usando los operadores elementales
la altura del terreno en ese punto. La segmentación se de erosión y dilatación se pueden diseñar operaciones
de realce de las formas de los objetos.
hace simulando una lluvia sobre la imagen; cuando
dos charcos se unen para formar uno más grande, se
Gradiente morfológico El primer residuo que se
marcan como bordes los píxeles en los cuales se puede definir en Morfología es el gradiente. Debida a
unieron los dos charcos. las relaciones de extensión y antiextensión definidas
sobre los operadores morfológicos se establece el
Transformada de Fourier Una señal puede ser concepto de gradiente morfológico.
definida de dos formas: en el dominio de la
frecuencia o en el dominio del espacio (para Top-hat Las transformaciones Top-hat consisten en
procesamiento de imagen). descubrir aquellas estructuras de la imagen que han
sido eliminadas en el filtrado de apertura o cierre.
Segmentación piramidal Hemos visto que es posible
obtener características de los objetos a diferentes
escalas utilizando filtros para suavizar. Una
herramienta poderosa para manipular información de
escala son las llamadas pirámides de imágenes.
IV. IMPLEMENTACIÓN DE CÓDIGOS EN MATLAB
Transformada de Hough Los puntos se ligan siempre
y cuando se determine si caen o no en una curva de
Aporte realizado por el estudiante Jairo Andres Quintero.
forma específica. El problema es encontrar
subconjuntos de n puntos que caigan en líneas rectas
umbral = 0.6
numpixels = 5
7
umbral = 0.7
numpixels = 10
umbral = 0.6
numpixels = 2
8
EJERCICIO 2
Explicación Código
EJERCICIO 3
Bordes Canny
Obtener la gradiente en donde se tiene que calcular la se1 = strel('line',3,4); % Crea un elemento de estructura lineal
magnitud y orientación de cada pixel. que es simétrico con respecto a la vecindad
En este segundo paso se realiza el adelgazamiento del erosion1=imerode(BordesCanny,se1); % Esta línea de codigo
ancho de los bordes erosiona la imagen “BordesCanny”
Se aplica una función de Histéresis que se basa en figure; % Se crea una figura para mostrar una imagen
dos umbrales. Esto se realiza para reducir la imshow(erosion1) % Se carga la imagen ‘erosion1’ en la
posibilidad de contornos falsos. figura
Explicación Código
se2 = strel('square',2); % Crea un elemento de estructura
morfológica cuadrada cuyo ancho es 2.
erosion2 = imerode(BordesCanny,se2); % Este comando
erosiona la imagen binaria BordesCanny. Se2 es un objeto de
elemento de estructuración.
figure; % Se crea una figura para mostrar una imagen
imshow(erosion2) % Se carga la imagen ‘erosion2’ en la
figura
Bordes Sobel
Ejercicio 4
Punto A
Explicación Código
11
Imagen 2
12
Imagen 3
Imagen 5
Imagen 4
Esla función para que lea la imagen enferma 5, la Clc: borra todas las entradas y salidas de la pantalla
cual se encuentra almacenada en la carpeta de trabajo de la ventana de comandos, brindándole una
de Matlab de este paso, así mismo se encuentra en un "pantalla limpia".
formato JPEG, el cual es un formato soportado por el Clear all: se usa básicamente para borrar / eliminar
programa. las variables creadas en Workspace.
Close all: Se usa para cerrar todas las figuras.
0 Melanoma=im2double(Melanoma); im2bw: Convierte la imagen en una imagen binaria,
Dice que melanoma es igual a la lectura de la imagen según el umbral.
de nombre enferma1 bwreaopen: Elimina pequeños objetos de la imagen
binaria.
1 figure;
Significa crear ventana de figura,
Analice cada imagen obtenida en este ejercicio.
2 imshow(Melanoma)
mostrar imagen, me muestra la imagen original Al realizar los cambios en los parámetros de umbral
y el número de pixeles se observan las técnica de
umbralización o binarización donde el valor del la
3 umbral=0.7; intensidad del pixel es mayor que la del umbral
imagen en un umbral de luminancia de 0.7 asigna color blanco y si es al contrario se asigna color
negro.
5 imshow(~binMelanoma)
mostrar imagen
6 numpixels=10;
ingresar el numero de pixeles
7 Filtrol=bwareaopen(~binMelanoma,numpixels);
elimina todos los componentes conectados (objetos)
que tienen menos de píxeles de la imagen binaria,
produciendo otra imagen binaria,.PBWBW2 Esta
operación se conoce como un.de apertura
8 figure;
Significa crear ventana de figura
9 imshow(Filtrol)
mostrar imagen declaración filtrol
2. Cada estudiante debe averiguar cómo implementar el
filtro para el ruido “sal y pimienta” y el filtro para el ruido
¿Qué hacen las funciones clc, clear all, clos all, “Gaussiano”. Posteriormente implementar el filtro
im2bw y bwreaopen? correspondiente para la imagen con melanoma que le ha
sido asignada.
14
Gray Melanoma =rgb2gray(Melanoma); “Convierte cuya anchura es W píxeles. W debe ser un escalar entero
imagen escala de grises” no negativo.
figure; “crea una nueva ventana de figura (figura2)” SE = strel ('line', LEN, DEG) crea un elemento
imshow(Gray Melanoma) “muestra la imagen resultante” estructural lineal plano que es simétrica con respecto al
BordesCanny=edge(GrayMelanoma,'Canny'); usado para centro de barrio. DEG especifica el ángulo (en grados) de
detectar todos los bordes existentes en una imagen la línea medido en una en sentido contrario a las agujas
figure; “crea una nueva ventana de figura (figura3)” del reloj desde el eje horizontal. LEN es
imshow(BordesCanny) “muestra la imagen resultante” aproximadamente la distancia entre los centros de la
BordesSobel=edge(GrayMelanoma,'Sobel'); “se usa edge estructura elementos de elemento en extremos opuestos
y el operador Sobel para calcular el valor umbral” de la línea.
figure; “crea una nueva ventana de figura (figura4)” Imerode:
imshow(BordesSobel) IM2 = imerode(IM,SE) Erosiona la imagen binaria en
escala de grises, binaria o empaquetada IM, devolviendo
se1=strel('line',3,4);”Indica el elemento estructural que la imagen erosionada, IM2. SE es un elemento
podemos definir a partir de la funcion strel ” estructurante objeto o matriz de objetos de elementos
erosion1=imerode(BordesCanny,se1); “muestra la erosión
morfológica de datos de pixel binario, lo que hace que se estructuradores, devueltos por el comando STREL.
erosionen los bordes mostrándolos en un elemento lineal
de estructuración morfologica” • ¿Qué diferencias encuentra entre el ejercicio a y b?
figure; “crea una nueva ventana de figura”
imshow(erosion1) “Muestra la imagen erosionada” En la primera imagen no se alcanza a observar la imagen
de la Melanoma, solo se ven algunos detalles. Y en la
segunda imagen se alcanza a percibir menos detalles casi
nada.
EJERCICIO B
Melanoma=imread('Enferma5.jpg'); Se crea la variable 2.5. Teniendo en cuenta el código anterior, donde se
utiliza la función morfológica de erosión, el estudiante
Melanoma. deberá investigar cómo implementar la función
figure; “crea una nueva ventana de figura (figura1)” morfológica de “dilatación”, con la dilatación en forma de
imshow(Melanoma); “muestra la imagen resultante” cuadrado y tamaño 2 (‘suaqre’,2).
Gray Melanoma =rgb2gray(Melanoma); “Convierte
imagen escala de grises”
figure; “crea una nueva ventana de figura (figura2)”
imshow(Gray Melanoma) “muestra la imagen resultante”
BordesCanny=edge(GrayMelanoma,'Canny'); usado para
detectar todos los bordes existentes en una imagen
figure; “crea una nueva ventana de figura (figura3)”
imshow(BordesCanny) “muestra la imagen resultante”
BordesSobel=edge(GrayMelanoma,'Sobel'); “se usa edge
y el operador Sobel para calcular el valor umbral”
figure; “crea una nueva ventana de figura (figura4)”
imshow(BordesSobel)
V. CONCLUSION