Curso de Procesamiento Digital de Imágenes

Programa

Contenido Oficial / ver página Secretaría Académica FCC BUAP

Herramientas

Para el curso se utilizará una versión de Delphi o Lazarus reducida con los elementos básicos para el desarrollo de interfaces gráficas de usuario (GUI).

Las Bibliotecas de apoyo a ser utilizadas son las siguientes:

Notas del Curso

Se han elaborado unas notas para darle soporte a éste curso de mi parte.

Apoyos

Cada ejemplo contiene la interfase de usuario y su código.


Tema Archivo
Curso FCC Primavera 2012
Prototipo 0.1
Abrir archivos con Librería gfx, Negativo, Grises. Modelo con Matrices Dinámicas
Prototipo 0.2
Salvar archivos con Librería gfx, Manejo de Canales, Deshacer, Umbraliza, Forma Auxiliar de Lectura
Prototipo 0.3
Selección de una región de la imagen, corrección de procesos en F. puntuales
Módulo Histograma Ver MM
Prototipo de Interface y procesos Histograma
Prototipo 0.5
Versión corregida
Prototipo de Transformada Rápida de Fourier (FFT) con manejo de Ruido Periódico
Versión corregida
Especificación Proyecto de curso: Parte 1
Especificación Proyecto de curso: Parte 2

Curso FCC Primavera 2013

.
Prototipo 0.1; 16/01/2013
Abrir archivos de forma directa y Negativo. Modelo con Matrices Dinámicas.
Prototipo 0.3; 28/01/2013
(El 0.2 se omite pues ya está contenido en éste)
Incluye: Filtro de suma, filtro gamma, Deshacer, Manejo de canales, abrir y salvar con biblioteca "gfx12" (multiformat)
Prototipo 0.4; 30/01/2013
Incluye: Selección de área rectangular mediante un Bitmap y un Image transparentes mediante los eventos de Mouse Up y Mouse Down
Se corrigen los efectos secundarios de dicha opción sobre el procesamiento en los Filtros.
Prototipo para FFT
Prototipo para incluir firma oculta en una imagen.
Especificación Proyecto de curso: Parte 1
Especificación Proyecto de curso: Parte 2

Curso FCC Otoño 2013

.
Prototipo 0.2; 29/08/2013
Abrir archivos usando GFX, Filtro Negativo: sobre un BitMap y con matrices. Modelo con Matrices Dinámicas.
Prototipo 0.3; 03/09/2013
Integración del Histograma, filtros gamma, logaritmo. Separación entre Interface y Procesamiento.
Prototipo 0.4; 06/09/2013
Inclusión de: Selección de canales, región de interés y sistematización de aplicación de métodos.
Prototipo 0.5; 10/09/2013
Inclusión de: Deshacer, correcciòn de F. puntuales y F. regionales de bordes simples.
Prototipo 0.6; 13/09/2013
Inclusión de: Filtro Genérico para bordes en forma matricial. Corrección de efectos colaterales.
Prototipo 0.7; 17/09/2013
Inclusión de: Filtro Genérico para medias en forma matricial.
Prototipo 0.8; 21/09/2013
Inclusión de Mediana Simple, una repasada a la interfase y a los procesos.
Corrección de Mat2Mat para el caso de carga reciente.
{ Ya está corregida la Mediana Simple }
Prototipo 0.8b; 27/09/2013
Ecualización y Falso color con funciones lineales por canal.
"Constructor de paletas"
Debe incorporarse como servicio a la aplicación con el objetivo posterior de cargar las paletas generadas y aplicarlas en una imagen en tonos de gris dentro de ella.
Unidad de Transf. Geométricas; 12/10/2013
Revise y corrija el código para la Rotación Libre usando NN. Luego adáptelo para el caso de interpolación bilineal inversa (IBI).
Archivo con digitos LED. 29/10/2013
Codigo RP Digitos - CORREGIDA. Incluye algunos archivos de ejemplo.
El archivo "Llamado_URPDigitos.txt" incluye el llamado desde la unidad principal "unit1.pas".
3/11/2013

Especificación Proyecto de curso: Parte 1
Especificación Proyecto de curso: Parte 2


Curso FCC Primavera 2014
El curso se llevará usando Delphi XE2 Lite update 3.
.
Demo 1. 14/01/2014
Apertura de imagen (bmp y jpg) y su vista dentro de un scrollbox
Demo 2. 16/01/2014
Identificación de la coordenada de pixel y composición (R,G,B) (no completa)
Demo 3. 17/01/2014
Identificación de la coordenada de pixel y composición (R,G,B),
funciona usando (TBitMap + TPicture).
Se implementa el Negativo de la Imagen Cargada.
Demo 4. 21/01/2014
Se incorpora el acceso con matrices en una unidad externa de código
Se implementa el Negativo de la Imagen Cargada.
Demo 6. 23/01/2014
Se incorpora una unidad de código para el manejo de los filtros puntuales, se implementa una matriz auxiliar para aplicar los filtros y procesos en cascada.
Demo 7. 27/01/2014
Se incorporan métodos para salvar el resultado en formatos: bmp, jpg, png y gif. (Ver unidad de Métodos Base) Se crean dos métodos regulares en la aplicación de filtros puntuales: preparaProceso() y muestraImagen().
Demo 8. 28/01/2014
Ajustes menores a la plataforma e interfase.
Demo 9. 4/02/2014
Seleccion Visual de Región para la aplicación de Filtros .
Demo 10. 11/02/2014
Modelo de captura de una imagen desde una WebCam moderna (Autor Fernando).
Demo 11. 11/02/2014
Incorporación del método de captura de una imagen desde una WebCam moderna usando DirectX.
Recuerde crear una carpeta en un lugar como es la "raiz" de su disco de trabajo llamada "lib", en ella cree otra carpeta con el nombre "DirectX" y copie en ella los archivos siguientes:
  • VFrames.pas
  • VSample.pas
  • Direct3D9.pas
  • DirectDraw.pas
  • DirectShow9.pas
  • DirectSound.pas
  • DXTypes.pas
  • DirectX.inc
  • Jedi.inc
Luego en las opciones de Delphi en Tools>Options>Library, dé de alta la carpeta creada en las opciones de: "Library path" y "Browsing path". Salve la configuración. Esto tiene como propósito dar visibilidad a estos módulos para cada aplicación que Ud. genere y deje de ser necesario copiar dichos archivos en cada versión de sus aplicaciones.
Luego con una cámara web conectada a su equipo pruebe su código.
Demo 12. 02/03/2014
Extracto de código para la inclusión de bordes basados en matrices.
Código 13. 21/03/2014
Unidad de Transformaciones Geométricas
Código 14. 21/03/2014
Interfase para captura en Operación del Zoom
Código 14. 21/03/2014
Módulo de RP Objetos redondeados
Código 14. 21/03/2014
Imagenes con Objetos redondos
Proyecto de Curso (Reducido- No aparece Correo Ruso) 21/4/2014
Calendario de Revisión, Entrega en Cubículo 13 / Edif 104A; 22/4/2014


Curso FCC Primavera 2015
El curso se llevará usando Delphi XE2 Lite update 3.
.
Demo 1. 16/01/2015
- Apertura de imágenes en formatos: bmp y jpg, así como su vista dentro de un scrollbox.
- Se implementa el filtro básico de negativo.

Demo 2. 19/01/2015
- Apertura de imágenenes en formatos: png y gif.
- Se incluye una barra de íconos de acceso rápido.
- Se implementa el filtro de corrección gamma.
- Inclusión del Módulo de Histograma y su adaptación.
- Creación de la Unidad de Código Base (UBase) para las diferentes Unidades de Trabajo.
- Se construyen los métodos de BMP2Mat, ajusta 255 y ajusta511.
- Se inicializan las variables de entorno para el manejo de selecciones
(_x1, _y1, _x2, _y2), (_xc, _yc, _Rx, _Ry), _banCirc incluidas en UBase.

Demo 3. 21/01/2015
Se organiza la secuencia de procesos modularizando las tareas.
- Se crea la unidad de Filtros puntuales (UPuntuales), la cual contiene el núcleo de los procesos.
- Se crea un método en UBase para convertir de Matriz en BitMap (Mat2BMP).
- Se implementa un método para copìar una matriz en otra (cuidando los tamaños).
- Se inicializa la matriz de resultados cuando se abre una imagen nueva para evitar la precedencia y hacer la copia.
- Se crean dos métodos en la Clase principal: Prepara() y Presenta(), los cuales son llamados en cada proceso de filtrado. El primero prepara el proceso de filtrado y el segundo despliega la imagen en la interfase

Demo 4. 23/01/2015
- Se implementa el método de hacer-deshacer.
- Se programan otros dos filtros puntuales: suma y porcentaje.
* Debe tenerse cuidado con los valores negativos de salida para filtrado posterior,
* por ejemplo gamma y logaritmo !!!

Módulo Calculadora - Para adaptarlo. 23/03/2015

Generador de paletas - Delphi 10. Para usarlo. 25/03/2015

Plataforma para manejo de DFT Y FFT. Ruido Periodico. 13/04/2015

Proyecto de curso Primavera 2015. 13/04/2015

Calendario de revision de proyectos prim 2015

Reglas Basicas de presentación curso prim 2015