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
[email protected]
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
[email protected]
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
[email protected]
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
[email protected]
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
[email protected]
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.