FASE 2: REALIZAR DETECCIÓN DE BORDES, BINARIZACIÓN, FILTRADO Y RECONSTRUCCIÓN MORFOLÓGICA
Presentado por: DANIELA PAOLA ARROYO Cód: 1045697638
Tratamiento De Imágenes Grupo: 208054_12
Presentado a: Paola Andrea Mateus Tutora
Universidad Nacional Abierta y a Distancia UNAD Escuela de Ciencias Básicas, Tecnología E Ingeniería Septiembre 13 del 2018
Anexo 1 1. Investigación de las siguientes preguntas a.
¿QUÉ ES UMBRALIZACIÓN O BINARIZACIÓN?
Binarización: es una técnica que consiste en la realización de un barrido en la matriz de la imagen digital, por medio de bucles o recursividad, con el fin de que el proceso produzca la reducción de la escala de grises a dos únicos valores. Negro (= 0) y blanco (= 255), o lo que es lo mismo, un sistema binario de ausencia y presencia de color 0-1. La comparación de cada píxel de la imagen viene determinada por el umbral de sensibilidad (valor T = Threshold). Por ejemplo, los valores que sean mayores que el umbral toman un valor 255 (blanco) y los menores 0 (negro) (fig. 4 y 5). Sezgin & Sankur (2004), en base a las particularidades entre algoritmos categorizan los métodos de umbralización en seis grupos.
b.
¿CUÁL ES LA DIFERENCIA ENTRE UMBRALIZACIÓN GLOBAL Y LOCAL? ¿CUÁL ES SU IMPLEMENTACIÓN EN MATLAB?
UMBRALIZACIÓN GLOBAL Esta técnica de umbralización supone que la imagen posee un histograma bimodal, y por lo tanto, el objeto puede ser extraído del resto de la imagen mediante una simple operación que compare los valores de la imagen con el valor umbral T.
Fig. 1: Histograma bimodal con umbral T.
Para una imagen f(x,y), con el histograma de la figura 1, los píxeles del objeto y del fondo tienen los niveles de gris agrupados en dos modos dominantes. La manera más obvia de extraer el objeto es seleccionar un umbral T que separe los dos modos. La imagen g(x,y), resultante de aplicar la umbralización, viene definida por:
Umbralizacion Local: Los umbrales locales pueden ser determinados dividiendo una imagen en subimágenes y calculando los umbrales de dichas subimágenes, o examinando las intensidades de la imagen en los alrededores de cada píxel. En el primer método, primero, se divide una imagen en subimágenes rectangulares solapadas, y se obtienen los histogramas de cada sub imagen. Estas subimágenes deben ser los suficientemente grandes como para abarcar el fondo, y el objeto en cuestión. Si una subimagen tiene un histograma bimodal, el mínimo entre los dos picos determinará el umbral local. En caso que el histograma sea unimodal, el umbral se obtendrá por interpolación de los umbrales locales de las subimágenes adyacentes. Por último, es necesario realizar una segunda interpolación para encontrar los umbrales adecuados a cada píxel. Implementacion en MATLAB c.
¿QUÉ ES UMBRAL DE OTSU?
1.3 Método Otsu El problema de la umbralización reside en la determinación del valor umbral que segmenta la imagen. Donde el método Otsu es uno de los más utilizados en la determinación automática de lumbral de segmentación. Este método proporciona el umbral óptimo ("threshold") para la segmentación de la imagen, bajo el criterio de máxima varianza entre fondo ("background") y objeto ("foreground").Así, se calcula la varianza entre todas las posibles divisiones, y se toma el umbral que presentala máxima varianza entre clases, de tal modo que:
d.
¿QUÉ ES REDUCCIÓN DE RUIDO EN UNA IMAGEN BINARIA?
La reducción de ruido suele aplicarse a nivel de software mediante los algoritmos correspondientes de NR (Noise Reduction). Sin embargo, últimamente se están realizando muchos esfuerzos para conseguir sensores que capten el menor ruido posible en sus fotodiodos, de modo que cuando los datos sean leídos por el procesador de imagen, estos sean más “limpios” e.
¿QUÉ ES FILTRO MEDIANA Y CÓMO SE IMPLEMENTA EN MATLAB?
Los píxeles de la nueva imagen se generan calculando la mediana del conjunto de píxeles del entorno de vecindad del píxel correspondiente a la imagen origen. De esta forma se homogeneizan los píxeles de intensidad muy diferente con respecto a la de los vecinos. Este tipo de filtro es bastante indicado cuando se tiene ruido aleatorio. En Matlab la instrucción empleada para realizar el filtro de la mediana es medfilt2. B = medfilt2(A) Donde A es la matriz de entrada a la que se le aplica el filtro de la mediana utilizando por defecto una vecindad de 3X3. A continuación se muestra un ejemplo de una imagen afectada por ruido gaussiano y aleatorio y filtrada por el filtro de la media y de la mediana. imc=imread('C:\MATLAB7\work\imagenes\lena.jpg'); Práctica 2ª. Reducción del ruido en una imagen digital. Área de Ingeniería de Sistemas y Automática. Curso 2005/2006 im=rgb2gray(imc); fg = imnoise(im,'gaussian'); fs = imnoise(im,'salt & pepper',0.1)
h1=fspecial('average'); media1=imfilter(fg,h1); media2=imfilter(fs,h1); mediana1=medfilt2(fg); mediana2=medfilt2(fs); %Representaciones de las imágenes subplot(2,3,1),subimage(fg),title('Imagen con ruido gaussiano'); subplot(2,3,4),subimage(fs),title('Imagen con ruido aleatorio'); subplot(2,3,2),subimage(media1),title('Filtro media'); subplot(2,3,5),subimage(media2),title('Filtro media'); subplot(2,3,3),subimage(mediana1),title('Filtro mediana'); subplot(2,3,6),subimage(mediana2),title('Filtro mediana');
f.
¿PARA QUÉ SIRVEN LOS FILTROS DE SUAVIZADO EN UNA IMAGEN?
Su objetivo es suavizar la imagen, son útiles cuando se supone que la imagen tiene gran cantidad de ruido y se quiere eliminar. También pueden utilizarse para resaltar la información correspondiente a una determinada escala (tamaño de la matriz de filtrado); por ejemplo en el caso de que se quiera eliminar la variabilidad asociada a los tipos de cubierta presentes en la imagen uniformizando de esta manera su respuesta g.
¿CUÁL ES LA DIFERENCIA ENTRE RUIDO GAUSSIANO Y RUIDO DE SAL Y PIMIENTA?
El ruido Gaussiano se encuentra asociado con la radiación electromagnética. Ya que no podemos tener comunicación eléctrica sin electrones, es imposible evitar el ruido, el ruido Gaussiano muestra una densidad de probabilidad que responde a una distribución normal (o distribución de Gauss). Si un ruido es Gaussiano, la probabilidad que se aleje de más de 3σ del valor promedio es muy baja. Esta
propiedad es utilizada para identificar la señal del ruido, pero sólo funciona si el ruido es realmente Gaussiano. El ruido sal y pimienta (salt-and-pepper noise) que se presenta principalmente en imágenes. Se caracteriza principalmente por cubrir de forma dispersa toda la imagen con una serie de píxeles blancos y negros. h.
EXPLIQUE DIFERENTES TÉCNICAS DE SEGMENTACIÓN DE IMÁGENES
Técnicas populares utilizadas para la segmentación de imágenes Método de Umbral Técnicas basadas en la detección de bordes Técnicas basadas en regiones Técnicas basadas en agrupación Técnicas basadas en la Cuenca Técnicas basadas en ecuaciones diferenciales parciales y redes neuronales Método de Umbral
Son los métodos más simples de segmentación, dividen los pixeles de la imagen con respecto a su nivel de intensidad, estos métodos se utilizan sobre todo en imágenes que tienen objetos más ligeros que fondo, la selección de estos métodos puede ser manual o automático, es decir puede basarse en conocimiento previo o en la información de las características de la imagen. Tipos de umbralización Umbral global. Umbrales variables Umbral Múltiple Se hace usando cualquier valor de Umbral apropiado/T donde el valor de T será constante para toda la imagen. Este tipo de umbrales el valor de T puede variar sobre la imagen esto puede ser de dos tipos: Umbral local: el valor de T depende de la vecindad de X, Y Umbral adaptativo: el valor de T es una función de X,Y Hay múltiples valores del umbral como T0 y T1 MÉTODO DE SEGMENTACIÓN BASADO EN BORDES. Los métodos de segmentación basados en bordes se basan en el cambio rápido del valor de intensidad en una imagen porque un solo valor de intensidad no proporciona buena información sobre los bordes. Las técnicas de detección de bordes localizan los bordes y luego se conectan entre si para formar los limites del objeto. Para segmentar las regiones requeridas los métodos básicos de segmentación basados en bordes son 2; HISTOGRAMA EN GRIS Y MÉTODOS BASADOS EN GRADIANTES. Para detectar los bordes se puede utilizar una de las técnicas básicas de detección de aristas como el operador Sobel, el operador Astuto y el operador de Robert, el resultado de estos métodos es básicamente una imagen binaria. Estas son las técnicas estructurales basadas en detección de discontinuidad. MÉTODO DE SEGMENTACIÓN BASADO EN REGIÓN. Son métodos que segmentan la imagen en varias regiones que tienen características similares existen 2 tipos de técnicas basadas en este método; • Región métodos de cultivo; Segmentación basado en crecimiento son métodos que segmentan la imagen en varias regiones basadas en el crecimiento de semillas (pixeles iniciales). Estas semillas pueden seleccionarse manualmente (basadas en conocimientos previos) o automáticamente (basadas en una aplicación particular. • Métodos de división y fusión de regiones; utilizan dos
técnicas básicas la división y la fusión para segmentar la imagen en varias regiones. Método de division y fusion de regiones La división representa, división iterativa de un imagen en regiones que tienen características similares y la fusión contribuye a combinar las regiones similares adyacentes. El siguiente diagrama muestra la división basada en el árbol cuádruple, los pasos básicos del algoritmo para el crecimiento y la fusión de la región son; sea “P” la imagen original y (t) el predicado particular. • En primer lugar, el R es igual a P • Cada región se divide en cuadrante para los cuales T (R1) = falso. • Si para cada
región T (Rj) = verdadero se fusionan las regiones adyacentes Ri and Rj tales que T (Ri U Ri) = verdadero. • Repita el paso 3 hasta que la fusión sea posible.
Método de segmentación basado en clústeres. Son las técnicas que segmentan la imagen en grupos que tienen pixeles con características similares, el agrupamiento de datos es el método que divide los elementos en datos de manera que los elementos del mismo grupo son similares entre si, que otros. Existen dos características básicas del método de agrupamiento; • Método jerárquico • Método basado en partición Por otro lado los métodos basados en
particiones utilizan métodos de optimización de forma iterativa para minimizar la
función del objeto. Entre estos métodos hay varios algoritmos para encontrar clúster, hay dos tipos básicos de agrupación Métodos basados en cuencas. Usan el concepto de interpretación topológica en esto la intensidad representa las cuencas que tienen agujeros en sus mínimos donde el agua se derrama. Cuando el agua alcanza el borde de la cuenca, las cuencas adyacentes se fusionan. Para mantener la separación entre cuencas se requieren represas y son los borde de la región de segmentación estas represas se construyen usando dilatación, este método considera el gradiante de la imagen como una superficie topográfica. LOS Pixeles que tienen más gradiantes se representan como limites contenidos. Son métodos rápidos de segmentación son apropiados para aplicaciones de tiempo crítico, existen dos métodos básicos de PDE; • Filtro de difu sión isotrópico no lineal (utilizados para mejorar los bordes) • Restauración convexa de variación no
cuadrática (utilizar para eliminar el ruido). Los resultados del PDE son los bordes borrosos y limites que se pueden cambiar utilizando operaciones cercanas. El método de PDE de cuarto orden se utiliza para reducir el ruido de imagen y el método de PDE se segundo orden se utiliza para mejorar los bordes y límites. Métodos de segmentación basada en la ecuación diferencial parcial Método de segmentación basado en redes neuronales artificiales. Simulan las estrategias de aprendizaje del cerebro humano con el propósito de tomar decisiones, hoy en día este método se utiliza principalmente para la segmentación de imágenes médicas y se utiliza para reparar la imagen requerida del fondo, una red neuronal se compone de un gran número de nodos conectados y cada un peso particular. Este método es independiente del PDE teniendo como pasos básicos la extracción de características y la segmentación por la red neuronal. i.
¿QUÉ ES RECONSTRUCCIÓN MORFOLÓGICA?
Herramientas y métodos utilizados para extraer componentes de una imagen, útiles de la descripción y representación de formas La dilatación y la erosión poseen la particularidad de que cuando iteran hasta estabilidad permiten la generación de poderosos algoritmos de reconstrucción morfológica
j.
¿QUÉ TIPOS DE FUNCIONES MORFOLÓGICAS EXISTEN Y CÓMO FUNCIONAN?
Dilatación Agrega pixeles a un objeto, lo hace más grande. Erosión Extrae los outlayers del objeto, lo hace más chico. Apertura
Suaviza los contornos de una imagen. Elimina pequeños salientes. Abre pequeños huecos. Elimina franjas o zonas de un objeto que sean más estrechas que el elemento estructural. Cierre: Elimina huecos pequeños rellenándolos y une componentes conexas cercanas.
2. Implementación de los siguientes códigos Procedimiento (Experimento) Parte Individual: –
2.1
Desarrolle el siguiente código en el Command Window de Matlab. (Asegúrese de estar trabajando en la carpeta que ya se ha creado). Debe trabajar con una nueva imagen que será enviada por el tutor y el estudiante deberá solicitarla por correo interno. Esta nueva imagen la debe guardar como “Enferma1” .
Nota: Si no está trabajando en la carpeta donde se encuentra la imagen guardada, al realizar el código le saldrá error.
Realizar el siguiente experimento modificando el código anterior.
Imagen
umbral
numpixels
1
0.3
1000
2
0.6
50
3
0.8
10
4
0.55
100
5
0.28
270
Explique cada línea de comando. ¿Qué hacen las funciones clc, clear all, clos all , im2bw y bwreaopen? Analice cada imagen obtenida en este ejercicio.
Indique cual es la combinación de umbral y de filtro que sirve para identificar el “tumor” en la imagen del cerebro asignada (si el estudiante encuentra otra combinación, debe indicarla)
2.2. Cada estudiante debe averiguar cómo implementar el filtro para el ruido “sal y pimienta” y el filtro para el ruido “Gaussiano”. Posteriormente implementar el
filtro correspondiente para la imagen que del cerebro que le ha sido asignada. Nota: El código se debe adjuntar junto con las imágenes resultantes El resultado debe ser de este estilo para el filtro de ruido sal y pimienta
a) Imagen con ruido Sal y pimienta
b) Imagen Original
El resultado debe ser de este estilo para el filtro de ruido gaussiano
a) Imagen con ruido Gaussiano b) Imagen Original
2.3
Desarrolle el siguiente código en el Command Window de Matlab. (Asegúrese de estar trabajando en la carpeta que ya se ha creado). Nota: Si no está trabajando en la carpeta donde se encuentra la imagen guardada, al realizar el código le saldrá error.
Explique cada línea de comando. ¿Qué hacen las funciones canny y sobel ? Analice cada imagen obtenida en este ejercicio.
2.4. Desarrolle el siguiente código en el Command Window de Matlab. (Asegúrese de estar trabajando en la carpeta que ya se ha creado). Nota: Si no está trabajando en la carpeta donde se encuentra la imagen guardada, al realizar el código le saldrá error. Este código necesita el código del ejercicio 2,3 para poder ser ejecutado.
a.
b.
Explique cada línea de comando. ¿Qué diferencias encuentra entre el ejercicio a y b? Analice cada imagen obtenida en este ejercicio.
2.5. Teniendo en cuenta el código anterior, donde se utiliza la función morfológica de erosión, el estudiante deberá investigar cómo implementar la función morfológica de “dilatación”, con la dilatación en forma de cuadrado y tamaño 6 (‘suaqre’,6).
Nota: El código se debe adjuntar junto con las imágenes resultantes
REFERENCIAS BIBLIOGRAFICAS
Bovik, A. C. (2009). The Essential Guide to Image Processing. Amsterdam: Academic Press, 2009. eBook Collection (EBSCOhost), pp. 1 - 123. Recuperado de: http://bibliotecavirtual.unad.edu.co:2048/login?user=proveedor&pass=danue0a 0&url=http://bibliotecavirtual.unad.edu.co:2051/login.aspx?direct=true&db=nle bk&AN=249002&lang=es&site=ehost-live Bovik, A. C. (2005). Handbook of Image and Video Processing. Amsterdam: Academic Press, 2005. eBook Collection (EBSCOhost), pp. 4 – 12. Recuperado de: http://bibliotecavirtual.unad.edu.co:2048/login?user=proveedor&pass=danue0a 0&url=http://bibliotecavirtual.unad.edu.co:2051/login.aspx?direct=true&db=nle bk&AN=214674&lang=es&site=ehost-live Aguado, A. S. (2012). Feature Extraction and Image Processing for Computer Vision. Oxford: Academic Press 2012. Available from: eBook Collection (EBSCOhost), pp. 542 - 600. Recuperado de: http://bibliotecavirtual.unad.edu.co:2048/login?user=proveedor&pass=danue0a 0&url=http://bibliotecavirtual.unad.edu.co:2051/login.aspx?direct=true&db=nle bk&AN=477505&lang=es&site=ehost-live