EsePrimo

2005-04-23

Aplicaciones de aplicaciones de Wavelets

No, no me he confundido al escribir el título. Si seguiste la entrada anterior, ahora tienes una vaga idea de cómo la construcción de Gerard puede ser usada para comprimir imágenes. ¿Observaste como cada pequeña pieza usada en la construcción tiene el mismo color? El motivo es que escogí para la ejecución de mi algoritmo la ondícula de Haar como función generadora de wavelets; dicha ondícula genera funciones que toman tan sólo valores constantes en ciertas regiones rectangulares. En general, uno puede tomar una función generadora con mejores propiedades de continuidad, diferenciabilidad, y otras nociones muy importantes para los matemáticos, pero que seguramente le dejen fríos al resto de los mortales.

No voy a hablar de eso ahora, sino de un divertido algoritmo similar al de descomposición que mostré anteriormente. De paso, ilustro un concepto muy importante del Análisis Matemático con gran influencia en “Teoría de Aproximación” y en particular en la construcción de wavelets: Normas en espacios.

En la vida real, es muy útil tener un mecanismo de medida, que nos permite decidir qué cosas están lejos, y cuales están cerca. Extendiendo esta idea a objetos matemáticos, uno puede conseguir construir una “medida” que indica cuando dos objetos se parecen (es decir, están muy cerca) o cuando son muy diferentes (están lejos). Los matemáticos llamamos norma a aquello que nos permite medir, y usamos una notación muy curiosa. Coco nos ayuda a entenderlo:

Hooola, soy Coco.
Voy a explicar la diferencia
entre cerca y lejos.
Ésto es ||ƒ12|| = 10
cotoclop-cotoclop
cotoclop-cotoclop
cotoclop-cotoclop
cotoclop-cotoclop
ÉSTO ES… arg… arg…
…arg, ÉSTO… ES…
||ƒ12|| = 0
cotoclop-cotoclop
cotoclop-cotoclop
arg… ésto es…
…||ƒ12|| = 10
…ARGGGG
Veamos cómo la noción de norma nos ayuda a conseguir programar un ordenador para realizar mosaicos como el presentado junto a estas líneas (pincha en él para verlo en grande). Empezamos dividiendo la imagen original en tantos trozos rectangulares como deseemos. Queremos colocar sobre cada uno de estos trozos una imagen diferente, de modo que la superposición de ambas, sin ser completamente iguales, ofrece poca diferencia. Aquí es donde la norma que antes explicaba viene bien. Este sencillo algoritmo, y una buena colección de imágenes es todo lo que necesitas para escribir tu propio código.
Si estás interesado en crear tus propios mosaicos, pero la programación no es tu fuerte, siempre puedes bajarte programas similares a tu ordenador. Aquí pongo un resumen de los que conozco:

Technorati Tags: , ,