Showing posts with label proceso digital de imágenes. Show all posts
Showing posts with label proceso digital de imágenes. Show all posts

Wednesday, March 12, 2025

Efecto de solarización en una imagen


Dice chatgpt que "la solarización es una técnica de procesamiento de imágenes en la que los valores de los píxeles se invierten parcialmente cuando superan un cierto umbral. Se usa para lograr efectos visuales interesantes, similares a los negativos fotográficos". La realidad es que es algoritmo muy sencillo de escribir, y para ello se siguen estos lineamientos:

  • Cargar la imagen en formato digital (JPG, BMP, PNG, dependiendo de los formatos que acepte el software).
  • Definir un umbral T, el cual debe estar entre 0 y 255 (Se puede usar para imágenes en escala de grises o para cada canal de color en RGB).
  • Recorrer cada píxel de la imagen y obtener su valor (en escala de grises o RGB).
  • Comparar el valor del píxel con el umbral:
  • Si el valor del componente es mayor que el umbral T, entonces se invierte: Nuevo Valor = 255 - Valor original
  • Finalmente, guardar la imagen modificada y mostrarla.

El pseudo código puede definirse así:

Para cada píxel en imagen:

     R, G, B = ObtenerComponentesRGB(píxel)

     Si R > umbral Entonces R = 255 - R

     Si G > umbral Entonces G = 255 - G

     Si B > umbral Entonces B = 255 - B

     Asignar nuevo color al píxel (R, G, B).


Por ejemplo, supongamos que tenemos un píxel con valores:

Original: (R=180, G=120, B=200)

Umbral: 128

Transformación a realizar:

   R > 128 → Nuevo R = 255 - 180 = 75

   G ≤ 128 → Nuevo G = 120 (sin cambios)

   B > 128 → Nuevo B = 255 - 200 = 55

Resultado: (75, 120, 55)

Cabe decir que Maussán, nuestro investigador de los ovnis, usa mucho este efecto de solarizar porque según él, muestra los campos de energía de las naves, lo cual es, desde luego, una babosada. 

Van algunos ejemplos, tant imàgenes en color como en tonos de gris...


Umbral = 50



Umbral = 20



Umbral = 20


Sunday, May 07, 2023

Fotografías hechas con Post-it


El proceso digital de imágenes permite hacer un número increíble de transformaciones en las fotografías. Hay filtros gráficos para encontrar el borde una imagen o bien, para hacer más precisa una región de la misma, o el poder quitar los "artefactos", es decir, los puntos indeseables que de pronto aparecen en las fotografías.

Hace tiempo escribí dos entradas al respecto, las cules pueden verse aquí y aquí. En este caso escribí un programa que -con un mosaico de estrellas, rectángulos redondeados o círculos- creaba la imagen de la fotografía a procesar. Los resultados fueron interesantes.

Sin embargo, quedaba pendiente una idea, la de hacer imágenes usando sólo Post-it, esas pequeñas notas de papel de 3M, que se hicieron muy populares hace algunos años. De hecho esto lo tenía pendiente desde hace mucho tiempo. La idea era crear un mosaico como el de las imágenes (ver los dos enlaces más arriba), pero usando una colección de Post-it. Cabe señalar que el problema de hacer imágenes con Post-it, en términos reales, es que 3M no proveé muchos colores para los Post-it aunque me da la impresión que hoy en día usa la paleta web (que contiene 216 colores), para pintar sus notas con pegamento.

Pues bien, un buen amigo me hizo con algún programa de gráficas o de animación, diez imágenes de Post-it. Estos simulaban cómo quedan pegadas estas notas en una superficie. Se ve la sombra de cada uno de ellas o bien, cuando no están bien pegadas, etcétera. Estos son un par de imágenes al respecto:






Al tener estas imágenes, lo único que tenía que hacer era rellenar cada post-it virtual con el color de cada región de una imagen, es decir, de una fotografía a la cual le aplicaría el filtro mosaico y entonces, cada región promedio sería sustituida por un Post-it con ese color promedio.

Escribí entonces las rutinas necesarias y las incorporé a mi programa. Estos son los resultados:




Dar click para agrandar la imagen


He aquí un fragmento de cómo se ven:


Este es un fragmento ampliado de la imagen:


Dar click para ampliar


Como puede verse, el resultado resulta bastante aceptable. A quien le interese el software, escríbame a morsa@la-morsa.com y se lo mando a vuelta de correo electrónico.

____

(*) La imagen inicial de este artículo es de https://www.pinterest.co.uk/pin/370280400622612839/

Friday, April 14, 2023

Variaciones del filtro AT&T




En el 2013 escribí un simpático filtro basado en una idea que hallé en un libro de proceso digital de imágenes, cxuyo autor había trabajado en los Laboratorios Bell en una de las mejores épocas de investigación de dicha empresa, cuya propiedad es ahora de AT&T. El filtro pretendía hacer imágenes que simularan el logotipo de AT&T. El artículo completo puede leerse aquí.

Sin embargo, el otro día vi en pinterest una serie de imágenes hechas precisamente con esta idea del filtro AT&T. Una de ellas era la de Charles Chaplin, la cual decidí probar con mi software. He aquí la imagen que vi y la que procese con el programa original mencionado.



Chaplin (la foto original) (tomada de este enlace)



Chaplin (con el filtro AT&T de mi programa)


Como puede verse, son bastante parecidas pero... ¿cuál es mejor estéticamente? Por alguna razón me daba la impresión de que la imagen original usaba tonos de gris, no era totalmente blanco y negro (alto contraste). Por ello, decidí modificar mi software para que contemplara los tonos de gris y no sólo pixeles en balnco y negro. La modificación fue muy rápida y no tuve poblemas para correr el software modificado. La única restricción es que mi software siempre hace barras horizontales y la imagen de Chaplin que pensaba replicar, tenía barras verticales. Así que lo único que hice fue girar la imagen a procesar 90 grados (usando photoshop) y listo. Cabe señalar que encontré la imagen artística de Chaplin, la original, en este sitio.

Entonces tenemos los siguientes resultados:






Izquierda: imagen artística de Chaplin hallada en Pinterest; 

Derecha: imagen creada con mi software modificado, usando tonos de gris y no sólo pixeles blancos y negros. 

¿Cuál les parece mejor? Le pregunté a una obsrvadora curiosa y sin decirle cuál era la imagen creada por mí, asintió que ésta era mejor que la original.

El software está disponible de manera gratuita. Simplemente escríbame a morsa@la-morsa.com y a vuelta de correo tendrá el enlace para descargarlo e instalarlo.


Tuesday, March 07, 2023

La computadora que hace arte II

 


A mí me parece que la computadora moderna es francamente una revolución, como lo fue en su momento el teléfono o la televisión. Si a eso le añadimos el acceso a Internet, pues tenemos todos los ingredientes para hacer maravillas, sobre todo si pensamos que todos estos elementos están al alcance de las mayorías.


Si pensamos en las gráficas, la computadora ha avanzado considerablemente y de tener apenas 4 colores en su tarjeta gráfica (1981 en la IBM PC original), hoy podemos desplegar casi 17 millones de colores. De hecho, ya no hay que diseñar tarjetas más poderosas porque -aparentemente- el ojo humano ya no puede distinguir más tonalidades.


En lo que se refiere a proceso digital de imágenes (en 2 dimensiones), podemos escribir filtros que sirvan para segmentar imágenes, para cambiar el contraste y el brillo y hacer más visible alguna región que ha aparecido oscurecida, por ejemplo, lo que quizás podría ser útil en el proceso de imágenes médicas. Algunos filtros podrían incluso investigar -con inteligencia artificial- lo que los médicos suponen es un tumor o un elemento que no debería estar en un lugar específico del cuerpo.


Pero hay también filtros gráficos, como los que vimos en el artículo pasado. Pues bien, me quedé con las ganas de implementar un filtro como el de los círculos o rectángulos redondeados, pero en esta ocasión con la figura de una estrella. Puse manos a la obra y quizás en media hora pude implementar el procedimiento correspondiente.



Debo reconocer que esperaba un resultado "más espectacular", pero no fue así. Sin embargo, tampoco es despreciable el resultado. Para esta prueba usé una foto de Polina Tsarenkova (polina_tsarenkova en Instagram), quien creo es una modelo rusa y bueno, califíquenla ustedes. De nuevo, la técnica usada es similar a la que ya expliqué en el artículo pasado.


Quizás lo interesante es ver cómo vía un algoritmo sencillo, amén de tener acceso a sistemas de cómputo verdaderamente poderosos, pueden permitirnos crear filtros con visos artísticos sin necesidad de tener que hacerlos "a mano". 





(Click para hacer más grande la foto)


 

Saturday, March 04, 2023

La computadora que hace arte



Nathan Manire es el autor de la imagen que encabeza este artículo. La imagen de la chica está hecha en acuarela con puntos circulares que crean una malla de diversos colores. Cuando estos se ven desde alguna distancia, podemos observar el rostro de la chica dibujada. Andy Wharhol hizo también este tipo de trabajos, "a mano" (pues no había computadoras accesibles a las mayorías), y generó la imagen de Twiggy, que fue muy popular en su momento. El trabajo de estos artistas es muy interesante y bueno. Por ello, pensé, sería buena idea replicarlo usando para ello una computadora y software escrito por mí para este fin.


Así, puse manos a la obra y se me ocurrió que podía empezar con una sencilla primera aproximación. Para ello, decidí usar el filtro "Mosaico", el cual pasa una imagen a una malla cuadriculada de colores sólidos, como puede verse en la siguiente imagen:

En general, dependiendo de tamaño de los mosaicos, podemos ver más fácilmente la imagen "escondida" en el mosaico o bien, hacer difícil ver qué hay en dicho efecto gráfico. El filtro mosaico se usa muchas veces para proteger la identidad de las personas, las cuales -por ejemplo- están siendo entrevistadas pero no quieren que su rostro salga a cuadro, protegiendo así su identidad. En términos artísticos, sin embargo, en ocasiones el uso del filtro mosaico ha sido para presentar obras pictóricas estupendas, como el cuadro de Dalí, "Gala Mirando al mar", que cuando se ve de lejos, se observa el rostro de Abraham Lincoln y cuando se ve de cerca, se observa a Gala de espaldas, desnuda, mirando precisamente al mar.



Una vez que se tiene el filtro mosaico de una imagen, podemos entonces ver qué color tiene cada región en promedio. La computadora -para representar los colores- usa el modelo RGB (Rojo, Verde y Azul), el cual es una tripleta de valores que van de 0 a 255. Combinando todas las posibilidades, las tarjetas gráficas modernas pueden darnos más de 16 millones de colores (256 al cubo) y mostrar una gama impresionante de colores. Hoy no tiene mucho sentido agregar más valores al modelo RGB, por ejemplo, de 0 a 512 valores, porque el ojo humano ya no puede discriminar esas sutilezas entre un color y otro.

Pues bien, tomando cada región del mosaico, que tiene un color sólido, escribí mi software pidiendo que creara -para cada región del mosaico- un círculo con el color promedio y que lo pusiese en lugar del color sólido en el mosaico. El programa entoces revisa cada región, crea cada una de las imágenes y arma el mosaico con círculos de colores. El efecto es muy parecido al que lograron los artistas con sus herramientas normales. Hoy la computadora puede ser una especie de ciberartista, que traduce estas bonitas ideas gráficas a matemáticas y que, eventualmente, nos muestran que hoy el camino del arte está abierto para prácticamente todos y además, con herramientas que hace tal vez 50 años o menos, eran literalmente desconocidas para las mayorías.



Quien le interese este software, escríbame a morsa@la-morsa.com y se lo mando a vuelta de correo.

Thursday, February 10, 2022

Inteligencia Artificial para mejorar la calidad de las fotos


Hoy en día hay toda clase de filtros gráficos. La plataforma ideal para ellos parece ser la de los teléfonos inteligentes. A la gente le gusta tomarse fotos o bien ponerse frente a la cámara de su celular y aplicar alguno de los numerosos filtros gráficos los cuales, de alguna manera, son estupendos y están muy bien escritos. 


Hace apenas un par de días encontré una app llamada Remini AI, la cual promete mejorar la calidad de las fotografías antiguas, pixeladas, borrosas, etcétera. ¿Qué tan bueno será? Y mi pregunta es legítima porque entiendo el problema, el cual lo discuto en mis clases de procesamiento de imágenes. Vamos, en esta asignatura hacemos filtros que hacen las imágenes más borrosas, las pixelean, las hacen más precisas (filtro "sharpen"), laas diterizan, entre muchas otras cosas. Pero la mayoría de estos filtros no son biyectivos, es decir, una vez aplicados no se puede recuperar la foto original.


Un ejemplo de esto es el filtro que convierte una imagen de colores en una en tonos de grises. No se puede hacer el proceso inverso. Una vez realizado el filtro se pierde la información de color y oor ello, incluso Photoshop de Adobe, pregunta si queremos continuar con el filtro porque no hay marcha atrás (aunque el software de Adobe tiene un buffer donde va guardando todo por si nos arerepentimos).  


La publicidad de Remini AI es notable:



Considerando lo anterior, decidí probar qué tan bueno era el software. ¿De verdad usará inteligencia artificial? No encontré ninguna descripción de cómo hace el trabajo, pero bueno, veamos con un ejemplo, usando una foto mía y procesándola con Remini AI en el teléfono Android que tengo.


Esta es la foto original y al lado está la foto que decidí procesar, a la que le apliqué el filtro blur (borroso) en un 23% aproximadamente.


                                        Original                                               Imagen con blur (borrosa)


Le apliqué el filtro y este es el resultado que presentó:

Efectivamente el software hace bastante bien la tarea y claramente el proceso no es muy tradicional, es decir, el software sí parece tener algunos criterios inteligentes para procesar la foto. Pero id., lector, lectora, ¿qué opina de este filtro? (he aquí la captura hecha en el teléfono):




Saturday, January 15, 2022

Tecnología de software para mejorar las cuartillas de un libro (*)


Ya hablé aquí sobre el proceso de querer "blanquear" una serie de páginas -de un libro de ajedrez escaneado- de manera que se viese blanco y no gris como en el escaneo original (véase la siguiente página del original escaneado en archive.org)


Una de las cuartillas originalmente escaneadas

.En esa entrada del blog indiqué que la solución de pasar de tonos de gris a blanco y negro no me había convencido y que pensaba que debía haber una mejor solución. Diego Contreras, de España, leyó mi entrada y comentó sus idea, por ejemplo, indicándome una solución posible usando Python. Le dije, "Dale, muéstrame qué puedes hacer". Pues bien, acabo de recibir un correo con el archivo final procesado y quitó esas "manchas" en las esquinas de cada cuartilla. Usando software de la red, acomodó cada página y las alineó correctamente. Me indicó además que un colega de él había hecho el proceso usando la biblioteca OpenCV (Open Computer Vision), con aparentemente, mejores resultados.

He aquí una muestra (usé la página 11 del libro porque es de las peores procesadas con mi programa):

En la parte izquierda, el proceso realizado por Diego. En la parte derecha, el mío.


El libro, procesado por Diego, puede descargarse de este enlace. Cabe señalar que el trabajo hecho por el español muestra que la tecnología de software es accesible a toda mente inquisidora y que le guste resolver problemas. Diego mostró una estupenda habilidad y aunque él mismo piensa que puede aún mejorarse más, yo opino que ha hecho un estupendo trabajo.

_____

(*) En la parte izquierda, el proceso de la mejora de la portada, realizado por Diego. En la parte derecha, el mío.


Sunday, June 14, 2020

FotoMorsaicos: Fusionando imágenes



Los fotomosaicos los conocí gracias al trabajo de Robert Silvers, el cual se hizo popular después de la imagen de Lady Di, publicada en la revista Newsweek hace algunos años.


La imagen de Lady Di, hecha con fotos de flores


Tiempo después fui al cine a ver la película The Truman Show y me asombró el póster de dicho filme: Es el rostro de Jim Carrey, el protagonista, hecho con fotogramas de la película. El autor es Silvers, el cual no vende un programa para hcer fotomosaicos, sino que los hace por encargo. Sin duda es uno de los mejores exponentes del tema y su trabajo lo ha patentado, aunque sus ideas no lo son, sino solamente la manera en como las hace.


El cartel original de la película The Truman Show


Lo interesante es que -aunque hacer fotomosaicos no tiene mucha ciencia- la manera en cómo hacerlos puede ser muy sofisticada. El tema básicamente trata de tomar una imagen, cuadricularla -es decir- tomar pequeñas regiones y sacar un mosaico sólido de la misma. Una vez hecho esto, hacerse de una buena colección de imágenes y entonces, buscar qué imagen es la más adecuada para sustituirla por la región de color sólido.


De un mosaico de colores sólidos a un fotomorsaico


Básicamente todos los programas usan la ecuación de la distancia euclidiana en 3 dimensiones, la cual simplemente permite calcular la distancia entre puntos considerando tres ejes perpendiculares entre sí, x, y y z.


Eso es lo que en mi software le he llamado una "métrica". Sin embargo, encontré que Thiadmer Riemersma, de Holanda, había hecho un estudio de cómo el ojo humano reconoce los colores, lo cual en el fondo es una modificación de la distancia euclidiana.



Yo apliqué esa fórmula y curiosamente, Riemersa leyó mi artículo del Dr. Dobbs y me escribió, indicándome que nunca pensó que su estudio pudiese usarse para un proyecto de fotomosaicos. Pienso que esto es la verdadera contribución al tema.


Ejes cartesianos en donde X, Y y Z se transforman en los colores primarios Rojo, Verde y Azul


Pero hay más que se puede hacer con los fotomosaicos. Por ejemplo , se puede hacer "blending". Esto es básicamente superponer en el mosaico la foto original, en un porcentaje, como si fuese una transparencia, de manera que algunas regiones se oscurezcan o se aclaren, haciendo un fotomosaico más suavizado. Esto, desde luego, debe hacerse con cuidado porque si se abusa entonces el blending no sirve y simplemente se ve la imagen original superpuesta con los mosaicos, como en este ejemplo


Un ejemplo burdo de blending


Aquí los colores de las imágenes dan lo mismo, porque al hacer la fusión con la imagen del personaje, no se respeta nada de cada una de las pequeñas imágenes.

Este otro ejemplo se ve mucho más sutil (del cartel de la película The Truman Show):


Un ejemplo de blending mucho mejor y más cuidado


Esto es un trabajo mucho más elaborado y deja un muy buen sabor al observador. Aquí se maneja sutilmente el blending.

Pensando en todo esto, escribí un pequeño programa que hace este blending con el fotomosaico generado. Cabe decir que hay problemas técnicos que hubo que resolver. Lo primero fue el saber que el fotomorsaico final no necesariamente tenía el mismo tamaño que la imagen original. En ese caso, había que cambiar el tamaño de esta última imagen para empatarla con la imagen del morsaico y poder entonces hacer el "blending".

Otra cosa que hice fue el poner un control para definir la cantidad de transparencia de la imagen original sobre el mosaico (o viceversa). Así, todo estaba listo. Finalmente puse un control para ver el progreso del proceso de blending. He aquí los resultados:


Programa de blending entre la imagen original y el fotomorsaico


Aquí hacemos la fusión entre la imagen de la izquierda (el fotomorsaico) con la imagen original y el resultado queda en la imagen de la derecha, que ya podemos guardar como un archivo ".jpg".

La imagen resultante es esta:


El resultado final

Quien quiera ver la imagen original, descárguela de este sitio y quien quiera ver el Morsaico compelto, baje la imagen procesada de aquí.




Friday, May 22, 2020

Fotografías hechas con dados



Recientemente vi un video de Barbara Lynn Helman, en el cual muestra una imagen del basquetbolista Michael Jordan, hecho con 5300 dados de color negro con puntos blancos. La idea de hacer imágenes con objetos no es realmente muy novedosa y de hecho, en el curso de Proceso Digital de Imágenes que imparto en la Facultad de Ciencias de la UNAM, muestro algunas ideas al respecto.



La primera vez que vi algo al respecto fue en el 2006, en un documental sobre el matemático Martin Gardner, a quien Ken Knowlton le había hecho un cuadro con piezas de dominós (ver aquí). Así que la idea de Lynn Helman, usando dados no era necesariamente muy original. El mérito de la artista es que usó 5300 dados físicos para armar la imagen de Michael Jordan.


Martin Gardner y su cuadro hecho con fichas de dominó

Como para el curso de Proceso Digital de Imágenes ya había hecho algo parecido con fichas de dominó, decidí hacer lo mismo pero usando dados. Fue un trabajo de un par de horas, pues ya tenía realmente el software escrito. Sin embargo, cuando tuve la primera versión modificada, me di cuenta que mi resultado no encajaba con lo que había hecho Barbara Lynn Helman.

El asunto va de la siguiente manera:

  • Tenemos seis posibles dados, del 1 al 6. El 1 es el más oscuro y el 6 es el más claro. Desde luego que con tan pocos tonos de gris, por decirlo de alguna manera, el resultado siempre es complicado para que salga bien.

  • Por otra parte, quería usar la misma foto que usó la artista y después de una media hora, finalmente la hallé en Internet.

La foto original usada por Barbara Lynn Helman

  • La artista manipuló la imagen de Jordan, poniendo en negro todo el fondo. Esto ahora lo sé porque tengo la imagen que usó originalmente.

  • Curiosamente hay una foto donde está el escritorio con la imagen a medio formar con los dados y la foto que usa no tiene modificado el fondo.


Así que tomé la imagen de Jordan. La recorté lo necesario tratar de hacer una imagen del mismo tamaño que uso Lynn Helman. Me guié del video que mostró la artista en Instagram.

Y entonces procesé la iamgen y en menos de un minuto tenía ya el resultado final. Este es el resultado:


La diferencia es que yo usé 6 imágenes el decidir qué cantidad de puntos iban en cada posición lo hizo el software automáticamente. La teoría al respecto es muy sencilla:


  • Tómese una imagen a procesar
  • Cuadricúlese la imagen en pequeñas regiones cuadradas (porque los dados son cuadrados). Entonces vea la primera región y calcule su tono de gris. Este será de 0 a 255. Hay que poner el dado que se acerque más a ese tono. Como tenemos solamente seis caras de un  dado, cada una contempla unos 42 tonos de gris. del 0 al 41 usé el dado con un punto. de 42 a 81 usé el que tiene dos puntos y así sucesivamente. Haga este procedimiento para toda la cuadrícula definida.
Si comparamos ambos resultados, hallamos lo siguiente:



El resultado prácticamente es el mismo. La única diferencia es que yo no tuve que conseguir 5300 dados negros con puntos blancos.

En realidad la arrtista Lynn Helman usó la conocida teoría de los semitonos, la cual ya expliqué aquí.

A quien le interese el software, escríbame a morsa@la-morsa.com y se lo mando gratuitamente por correo electrónico. Dejo más abajo un video sobre los pasos a seguir con la aplicación escrita para crear este tipo de imágenes.