La librería CImg se puede pillar de http://cimg.sourceforge.net/ y, efectivamente, incluye todo el código usado en las demos de la página http://www-sop.inria.fr/odyssee/research/tschumperle-deriche:02d/appliu/ .
Una curiosidad de la libreria (C++) es que se reduce a un único .h, con lo que es totalmente multiplataforma. Yo la he probado en Linux/gcc, Windows/gcc y Windows/MSVC 6.
Compilar el ejemplo "pde_TschumperleDeriche2D.exe" y ejecutarlo desde linea de comandos.
Para el ejemplo del loro:
pde_TschumperleDeriche2D.exe -i img/parrot_original.ppm -m img/parrot_mask.pgm
Para el ejemplo del zoom:
./pde_TschumperleDeriche2D.exe -iter 3 -i img/lena.pgm -zoom 3 -o img/lena3_pde.pgm
Zoom usando ImageMagick (bicúbico estándar):
Zoom usando pde_TschumperleDeriche2D.exe
El ejemplo del loro es para dejarlo currando toda la noche.
Tiempos para 100 iteraciones (lleva una hora, va por 13000 y aún se ven casi todos los barrotes):
"ra" (PIV 2.8 GHz, Linux, O3, X11 local) real 0m24.71s "ra" (PIV 2.8 GHz, Linux, X11 remoto en barduck) real 1m50.58s user 1m7.31s sys 0m2.32s "barduck" (PIV 2.8 GHz, Windows XP, cygwin) real 3m1.399s user 2m32.592s sys 0m2.843s "barduck" (PIV 2.8 GHz, Windows XP, O3, cygwin) real 1m41.20s "barduck" (PIV 2.8 GHz, Windows XP, MSVC 6) real 0m40.736s user 0m0.015s sys 0m0.031s
No asustarse, el zoom le cuesta bastante menos, y con menos de 10 iteraciones ya da resultados buenos
Parece claro que si se quiere trabajar bajo Windows, es mejor utilizar MSVC por tema de rendimiento. Así pues es necesario instalar librerías adicionales para MSVC.
Es recomendable instalar el paquete completo de ImageMagick, ya que incluye librerías para casi todos los formatos conocidos.
Luego CImg puede llamar a ImageMagick o bien, para los formatos jpeg y PNG usar las librerías nativas (que se instalan generalmente con el propio paquete de ImageMagick).
Nota: Si se tiene el codigo fuente en el directorio personal de "ra" (lo recomendado) MSVC puede dar "internal errors" por causas desconocidas. La solución es o copiar el codigo al disco local y volver a volcarlo al terminar de trabajar, o bien desactivar la opcion de "precompiled headers".
Last Modified: November 25, 2005