Cinvestav
Sección de Computación
Departamento de Ingeniería Eléctrica

Curso:
Tópicos Avanzados en Visualización: Reconocimiento 3D

Prof. Dr. Luis Gerardo de la Fraga
Cuatrimestre Mayo-Agosto 2006

Este es el contenido del curso.

Apuntes diversos y programas desarrollados durante el curso

Tareas


Apuntes y Programas

9/08/2006
Los programas en PERL para calcular los puntos para evitar
los triágulos planos en una reconstrucción de un mapa a partir
de sus mapas de contornos: Figura.tar.gz.
Aquí está al archivo LEEME.txt que describe como funcionan.

27/07/2006
Programa en perl para generar la malla para un cono truncado
en formato para Space3D: ConoTruncado.tar.gz.

16/05/2006
El programa en PERL para rotar una imagen. Se usa el algoritmo
incremental, el vecino más cercano para asignar el tono de gris
al pixel rotado y la imagen se rota en el mismo tamaño que la imagen
original, dejando los espacios vacios en negro.
rotar.pl

Tareas

Tarea 8 Fecha de entrega: Jueves 17 de agosto, 2006

Reconstrucción de terrenos a partir de sus líneas de contornos

La tarea consiste en lo siguiente:
1) Digitalizar una hoja con lineas de contornos
2) Segmentar los contornos, adelgazarlos y extraerlos.
3) Calcular el Tamaño de la Característica Local (TCL)
con la imagen de los contornos adelgazados.
4) Muestrear las líneas de contorno.
5) Calcular el esqueleto y seleccionar solo los puntos
que no estén entre líneas de contorno.
6) Triangular entre los puntos del esqueleto y de la corteza
y visualizar la reconstrucción con Space3D.

Tarea 7 Fecha de entrega: martes 8 de agosto, 2006

Reconstrucción de objetos con simetría cilíndrica

La tarea consiste en lo siguiente:
1) Digitalizar una imagen de un objeto con simetría cilíndrica
2) Segmentar la silueta, enderezarla y obtener su perfíl.
3) Realizar el programa que reciba el perfil y genere el modelo de
malla del objeto
4) Modificar el programa Space3D como en la tarea 6 para que se
puedan seleccionar vértices, aristas o caras.
Se hará una jerarquía de cajas conteniendo otras cajas para
detectar la colisión de las cajas más grandes contra el rayo,
después la colisión de las cajas pequeñas y por último
la colisión entre los cuadriláteros y el rayo.

Tarea 6 Fecha de entrega: viernes 21 de julio, 2006

Manipulación de una triangulación

Hay que realizar lo siguiente:
1) Generar 50 puntos al azar con el programa en PERL de la tarea 4.
2) Generar los diagramas de Delaunay usando el programa Quickhull
3) Modificar el programa Space3D para detectar el contacto contra
triángulos, aristas y vértices. La interfaz gráfica tendrá dos modos,
uno de inicio, donde se puede seleccionar un triángulo, o la
arista más cercana al click (dentro del tríangulo) o el vértice más
cerca (también dentro del triángulo seleccionado con un click del ratón)
El otro modo de uso, modo selección, permitirá seguir seleccionando
triángulos, aristas ó vértices
La selección se marcará en rojo.
4) El algoritmo de contacto será el siguiente
i) Construir las cajas alrededor de cada triángulo y alrededor de
todos los puntos.
ii) Las corrdenadas del clik del ratón se checarán contra todas cajas
iii) Con las cajas seleccionadas se calculá el triángulo seleccionado
por un algoritmo de contacto entre un rayo y un triángulo.
iv) Se calculará la arista o el vértice según se indique en la interfaz gráfica

Tarea 5 Fecha de entrega: martes 4 de julio, 2006

Diagramas de Voronoi y Delaunay

Hay que realizar lo siguiente:
1) Generar 50 puntos al azar con el programa en PERL de la tarea 4.
2) Generar los diagramas de Voronoi y Delaunay usando el programa Quickhull
3) Visualizar ambos diagramas con el programa Space3D

Tarea 4 Fecha de entrega: martes 26/06/2006

Reconocimiento de puntos

Dentro de este archivo está un script en PERL 'puntos.pl',
que genera aleatoriamente (con una distribución uniforme) 30 puntos.
Con el script 'grafica.gnu' para gnuplot se genera un
archivo 'grafica.eps' que puede imprimirse.
Hay que hacer:
1) Generar los puntos
2) Imprimir el archivo de la gráfica
3) Digitalizar la hoja de la gráfica en el escaner
4) Reconocer los puntos y calcular su centroide
5) Codificar el algoritmo de Andrew para calcular la cubierta
convexa y calcular la cubierta convexa de los puntos reconocidos.
6) Comparar el error en las posiciones de los puntos iniciales
contra los puntos reconocidos. Se suguiere hacer coincidir
los dos puntos más lejanos y calcular los errores en todos
los demás

Tarea 3 Fecha de entrega: 13/06/2006

Reconocimiento de patrones

En este archivo se tienen varios
archivos hechos con xfig. Dentro del directorio "Imagenes" está
el archivo "leeme.txt" donde está la asignación para uno.
Hay que hacer:
1) El programa que extrae los objetos y calcula sus características
2) El clasificador de distancia mínima
3) El programa que clasifica automáticamente los objetos en
otra imagen.

Tarea 2 Fecha de entrega: 2/06/2006

Filtrado espacial de imágenes

Tarea 1 Fecha de entrega: 23/05/2006

Rotación de imágenes

Hay que modificar el programa en PERL para realizar:
1.- Probar porqué no es una buena aproximación calcular
directamente la imagen rotada
2.- Realizar la aproximación bilineal
3.- Rotar en los siguientes casos:
Nota: Recuerden que su tarea se entrega en su página personal.
(a) Una máscara circular dentro de la imagen
(b) Considerar la imagen un toro
(c) Rotar toda la imagen en otra más grande que la enmarque

Última actualización, junio 16, 2006
Comentarios: fraga@cs.cinvestav.mx