Showing posts with label #delphi26th. Show all posts
Showing posts with label #delphi26th. Show all posts

Saturday, February 20, 2021

Se libera el código fuente de los FotoMorsaicos



Mi primer acercamiento al tema de los fotomosaicos fue la película The Truman Show, la cual tenía un poster en donde se mostraba el rostro del protagonista hecho con pequeñas fotos, todas ellas sacadas de la película misma.


Era claro que este trabajo se había hecho con algún programa y pronto descubrí que Robert Silvers era el autor de esta imagen. ¿Cómo es que la hacía? Por algún tiempo pensé sobre el algoritmo que estaba detrás de los fotomosaicos. Finalmente descubrí lo que había que hacer y puse manos a la obra. La idea básica es que un programa de fotomosaicos hace un filtro mosaico pero en lugar de usar colores sólidos, usa fotografías cuyo color promedio es parecido al color sólido que debería ir en cada región del mosaico. Escribí entonces un programa en Delphi que hacía un fotomosaico básico. Usaba una colección de unas 6,000 fotografías de alta definición. 

Sin embargo, con el tiempo me di cuenta que un buen programa de fotomosaicos debe contemplar más características: usar diferentes bibliotecas de imágenes, poder decirle al sistema si quiero que haya regiones repetidas o no, es decir, si se debe poner la misma foto o hay que hacer que haya más variedad de las mismas. Igualmente, la idea de fusionar la imagen original en un porcentaje con el mosaico generado “suavizaba” el resultado final, haciéndolo mucho mejor visualmente.

El desarrollo original se publico en la desaparecida revista Dr Dobbs Journal. Un investigador, Thiadmer Riemersma, publicó un artículo estudiando la manera en como los seres humanos ven los colores.( "Colour metric." CompuPhase. May 26, 2008. http://www.compuphase.com/cmetric.htm). Usé su aproximación y el software mejoró más visualmente. Fue de hecho el mismo T. Riemersma quien me escribió al respecto después de leer mi artículo.


Hoy el software permite: 1.Usar diversas colecciones de imágenes (hasta 100,000 fotografías); 2. Hacer blending entre la foto original y el mosaico generado de manera que ambas se fusionen en un porcentaje determinado; 3. Permitir repetir imágenes consecutivas o no. Un fotomosaico con imágenes no repetidas es mucho más aceptable visualmente.



Primer FotoMorsaico hecho con mi software (Ilse, la cantante de Flans)

En https://sourceforge.net/projects/fotomorsaicos/ se encuentra todo el código fuente y la documentación completa del proyecto, escrito totalmente en Delphi y poniéndose de manera pública en el cumpleaños 26 de Delphi.

El Fotomorsaico de David I, gurú de Delphi





Para ganar el nuevo Delphi RAD Studio




Hace 26 años nació Delphi 
(*), la evolución de lo que era Turbo Pascal, el cual se había convertido en uno de los lenguajes de programación más usados porque contenía editor y compilador en muy poco espacio de almacenamiento. La versión completa de Turbo Pascal 3.0 requería unos 50K y era notablemente rápida paqra compilar. Borland, con el tiempo, evolucionó y cuando Windows se convirtió en cierta medida en el sistema operativo más usado en el mundo, nació entonces Delphi, que era el nombre clave de Turbo Pascal para Windows. Sin embargo, eventualmente la empresa le dejó ese nombre y de nuevo, se volvió a revolucionar el software de desarrollo.

La interfaz gráfica de Windows representa una serie de nuevos retos para desarrollar herramientas de programación. Delphi, que finalmente es un Turbo Pascal “con esteroides”, se volvió muy popular. Hubo un número indeterminado de sitios de desarrollo, colecciones de bibliotecas y rutinas, foros de discusión, etcétera. Hoy -después de 26 años- Delphi sigue su desarrollo bajo la empresa Embarcadero y para festejar los 26 años de vida, han lanzado un concurso en donde los desarrolladores de Delphi (desde la versión Seattle en adelante), pueden mostrar en un “showcase”, los desarrollos que han hecho. El ganador del concurso se llevará la última versión de Delphi RAD Studio.

Para ganar se necesita ser el tuit con más likes, me gusta, que hable del software creado. Hice un mensaje en mi cuenta de Twitter (@morsa), el cual pueden verlo aquí:

 

Así que les pido si pueden apoyar con un me gusta en Twitter en ese tuit (mensaje público) que he puesto. Como he dedicado muchos años a la programación, me haría feliz el poder usar la versión más reciente de Delphi, que sin duda –después de 26 años de desarrollo- sigue siendo una de las mejores herramientas de programación que he usado.

A ver si juntamos muchos likes y resulto ganador 🙂

____

(*) La imagen que ilustra este artículo es la de la presentación de mi programa en el sitio de Delphi, dedicado al Showcase (https://blogs.embarcadero.com/a-fantastic-portrait-program-from-craps-dice-is-made-with-delphi/)