Download TAREAS UNIDAD 5 Entregar el 4 de agosto Tarea 1. Métodos de
Document related concepts
no text concepts found
Transcript
Maestría en Ciencias de la Computación Procesamiento Digital de Imágenes wgomez@tamps.cinvestav.mx TAREAS UNIDAD 5 Entregar el 4 de agosto Tarea 1. Métodos de umbralado global y local • • Implementar en Matlab los siguientes cinco métodos de umbralado global: Rosenfeld, Tsai, Otsu, Kittler y Kapur. Cada función debe tener un argumento de entrada: la imagen en escala de gris (I), y dos argumentos de salida: la imagen umbralada (B) y el valor del umbral óptimo (T). El nombre de cada técnica irá con el prefijo "th_", por ejemplo: [B,T] = th_kapur(I). Implementar en Matlab los siguientes cinco métodos de umbralado local: Sauvola, Wellner, White, Bernsen y Parker. Cada función debe tener varios argumentos de entrada dependiendo del método: la imagen en escala de gris (I) y parámetros del método; y un argumento de salida: la imagen umbralada (B). El nombre de cada técnica irá con el prefijo "th_", por ejemplo: B = th_sauvola(I,k,R,b). Además, en el caso del método de Wellner, habrá un argumento de entrada que indique con una cadena de caracteres el tipo de filtro que usará: 'gaussian', 'mean' o 'median'. Hacer una función principal que procese las imágenes de prueba. • Entregar reporte de la práctica. • Nota: se pueden usar funciones de Matlab para filtrado de imágenes. Se dará importancia al tiempo de cómputo de los métodos. • Maestría en Ciencias de la Computación Procesamiento Digital de Imágenes wgomez@tamps.cinvestav.mx Tarea 2. Crecimiento de región Segmentación por crecimiento de región • Implementar en Matlab una función que realice el crecimiento de región dadas R semillas de acuerdo al algoritmo mostrado en clase, donde el predicado será comparar el valor de intensidad del píxel candidato con la media de los niveles de gris de la región. El nombre de la función será regiongrow.m. Esta función 4 argumentos de entrada y 2 argumentos de salida, ordenados de la siguiente forma: [J,fQ] = regiongrow(I,S,T,opt) donde: J es la imagen segmentada y etiquetada de salida de tamaño M×N; fQ es una matriz de tamaño M×N×R (M y N, anchura y altura de la imagen original, y R número de regiones) que contiene las segmentaciones binarias para cada semilla. I es la imagen original en escala de grises de tamaño M×N, S es una imagen binaria de tamaño M×N con los puntos de R semillas, T es un vector 1×R con los umbrales de cada región con valor entre [0,1], y opt es una bandera binaria, si vale 1 muestra el progreso del crecimiento de región y si vale 0 no muestra nada. • Hacer una función principal que llame a la función regiongrow.m y procese las siguientes imágenes de prueba con sus respectivos valores de T: I tomography.tif lightning.tif tumor.tif • • S seeds_tomography.tif seeds_lightning.tif seeds_tumor.tif T [0.05, 0.08, 0.2] [0.15, 0.15] 0.10 En el archivo test.m se proporcionan las matrices del ejemplo en las diapositivas 22 a 26 para realizar pruebas controladas. Entregar reporte de la práctica. Maestría en Ciencias de la Computación Visión por Computadora wgomez@tamps.cinvestav.mx Tarea 3. Segmentación de texturas con filtros de Gabor • Implementar en Matlab el algoritmo de segmentación de texturas utilizando filtros de Gabor. La función se llamará "gaborsegment.m", la cual tendrá los siguientes argumentos: J = gaborsegment(I,K,theta,b,kappa) • • • donde: J es la imagen segmentada, I es la imagen de entrada en escala de grises, K es el número de grupos para el algoritmo k-means, theta y b son el ángulo para el intervalo de orientaciones y el ancho de banda del filtro de Gabor, respectivamente, y kappa es el factor de suavidad del filtro Gaussiano Hacer una función principal que llame a la función "gaborsegment.m" y se procesen las imágenes de prueba. Entregar reporte de la práctica. Nota: se pueden usar la función kmeans de Matlab para el agrupamiento. Maestría en Ciencias de la Computación Visión por Computadora wgomez@tamps.cinvestav.mx Tarea 4. Red neuronal de pulso acoplado • • • • Implementar la red neuronal de pulso (PCNN) y el modelo cortical intersecado (ICM). Se programarán en funciones separadas llamadas “pcnn.m” e “icm.m”, respectivamente. Cada una de estas funciones recibirá como entrada la imagen en escala de grises, las constantes de la red dependiendo del caso, el radio de la matriz de pesos sinápticos (deberá ajustarse para valores enteros positivos > 1) y el número de iteraciones. Para cada función, la salida será únicamente una imagen binaria correspondiente con la última iteración definida. Crear una función principal que llame a las funciones “pcnn.m” e “icm.m” y desplegar los resultados para cada caso. Entregar reporte de la práctica. Nota: se pueden usar la función imfilter de Matlab. Maestría en Ciencias de la Computación Visión por Computadora wgomez@tamps.cinvestav.mx TAREA BONUS: Segmentación basada en movimiento Entregar el 18 de agosto • • • • • • Esta tarea bonus se asigna con el objetivo de aumentar un punto sobre la calificación final. Sólo será válida si se entregaron las cinco tareas regulares asignadas en el curso. Implementar en MATLAB el método básico de segmentación por movimiento usando diferencias de imágenes. El método debe estar presentado en una interfaz gráfica con las siguientes características: Cuando se abre la secuencia se debe mostrar la imagen de referencia inicial. Cuando se segmenta la secuencia, se debe mostrar la segmentación realizada para cada frame. Las imágenes de la secuencia segmentada se salvan en formato TIF. Se sugieren los valores T=4 y Area=1100 para la “Secuencia01”, y T=4 y Area=300 para la “Secuencia02”. Entregar reporte de la práctica.