Showing posts with label filtros. Show all posts
Showing posts with label filtros. Show all posts

Saturday, August 22, 2026

Triángulos "a la" Knowlton


Dice la Wikipedia: Kenneth Charles Knowlton (6 de junio de 1931 - 16 de junio de 2022) fue un pionero estadounidense de los gráficos por computadora, artista, mosaicista y retratista. En 1963, mientras trabajaba en Bell Labs , desarrolló el lenguaje de programación BEFLIX para crear películas producidas por computadora con imágenes de mapa de bits. En 1966, también en Bell Labs, él y Leon Harmon crearon la obra de arte por computadora Computer Nude (Studies in Perception I). Tal vez uno de sus cuadros más famosos es el de una mujer desnuda, hecho con los símbolos que se usaban para dibujar esquemáticos de electrónica (que se muestra al inicio de este artículo).


Ken Knowlton

Sin embargo, Knowlton dedicó buena parte de su vida a crear arte con la ayuda de la computadora. En https://www.knowltonmosaics.com/ pueden verse la mayoría de sus trabajos. Algunos de ellos me parecen fascinantes, por ejemplo el siguiente:


Básicamente Knowlton hace un filtro mosaico pero en lugar de usar cuadrados o rectángulos, lo hace con triángulos. Probablemente la parte más complicada sea el generar una cuadrícula que pueda pintar rectángulos horizontales y verticales y ya la parte más sencilla, calcular el color promedio del área de cada triángulo.

Me di pues a la tarea de hacer esto y finalmente generé un programa que hace lo que Knowlton diseñó. De hecho, parte de los créditos son de Gemini AI, que resolvió algunos problemas que me hubiese llevado mucho más tiempo solucionar sin su ayuda.

Este es el software corriendo:

y este es el resultado final:


Elena Frolova (original)



Elena Frolova (Procesada)

El efecto es muy parecido al que Knowlton creó. Si vemos la imagen más de cerca, encontraremos lo siguiente: 



Detalle del ojo izquierdo de Elena

Cabe decir que en algún momento quise entrevistar a Ken Knowlton. Conseguí su correo y le pedí una entrevista. Declinó. Me comentó que cuando tuviese algo que decir, me contactaría. Nunca lo hizo. Murió el 16 de junio de 2022. 

El software, para quien lo quiera, es totalmente gratuito. Escríbame a morsa@la-morsa.com y se lo envío. Sólo funciona en Windows.








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


Monday, October 20, 2014

Programación lúdica: Un experimento fallido


Recientemente conseguí una tesis de maestría, de la Universidad de Alberta, en Canadá, la cual habla de un tema que estoy investigando. La tesis se puede descargar directamente en formato PDF del sitio de la mencionada institución. Descubrí que en realidad el PDF es una colección de imágenes, es decir, no es un texto convertido a PDF sino que pareciera que alguien escaneo -quizás página por página- la tesis original y la hace accesible como PDF, aunque investigando un poco más, hallé que no se escaneó, sino que es una imagen microfilmada y pasada a PDF de alguna manera.

La cuestión es que el escaneo de la tesis permite leerla pero, por alguna razón, quedó muy oscura, es decir, cada página muestra las palabras como si estuviesen en “súper-negritas”. Se puede leer, pero cansa, resulta de alguna manera incómodo. Como que el cerebro tiene que esforzarse para entender algunas palabras. Como me empezó a fastidiar esto, pensé que algo se podría hacer, y considerando que de procesamiento de imágenes algo sé, pues he dado este curso por algunos semestres en la Facultad de Ciencias de la UNAM, empecé a buscar qué filtro podría usar para hacer más legible el documento en cuestión.

Se me ocurrió entonces la siguiente idea: tomar cada página del texto, como una imagen JPG y procesarla con un filtro aún por determinar. El primer problema era cómo pasar un archivo PDF a imágenes. Sorpresivamente hallé que más de uno ha tenido esta necesidad y hay algunos programas que funcionan de manera gratuita, en línea, que hacen esta tarea. El que hallé muy conveniente es éste, el cual puede procesar un archivo PDF hasta de 25 megabytes. Suficiente, mi archivo era de 3 megas, aproximadamente.

El convertidor me presenta cada una de las hojas procesadas como imágenes, las cuales puedo descargar una por una, pero el propio sistema en línea me crea un archivo comprimido con todas las imágenes creadas. Así me ahorro el dar unos 102 clics para descargar cada imagen (la tesis en cuestión contiene 102 páginas de principio a fin). Una vez con las páginas convertidas a imágenes JPG, me puse a ver qué filtro podía ser el más adecuado. Hallé que probablemente el filtro “máximo” podría hacer la tarea. Este filtro toma una vecindad de 5 x 5 pixeles y calcula los colores en cada uno de ellos. Se halla el más brillante y ése se coloca en el punto de interés, es decir, en el centro de la vecindad de 5 x 5. Esto es básicamente un filtro llamado de “convolución”, el cual permite hacer filtros como los siguientes: hallar bordes, hacer la imagen más difusa, hacerla más precisa, etcétera.

Como todas las imágenes las tenía en una carpeta, escribí un pequeño programa que lee imagen por imagen (de la carpeta que yo especifico), las procesa y me entrega cada una de las imágenes convertidas. Cuando se tienen todas las imágenes convertidas, entonces se hace el proceso inverso, es decir, se suben a una página todas ellas y un programa en línea las convierte en un archivo PDF (también de forma gratuita).


Hice una prueba usando la imagen que venía en donde leí sobre el filtro máximo y parecía convincente. Entonces tomé las imágenes y las empecé a procesar… El proceso es lento, pues cada una de ellas es de unos 1275 x 1650 pixeles. Además, en un afán de ser más eficiente, antes de procesar cada imagen la pasaba a blanco y negro. Hice un par de pruebas ya con las primeras páginas de la tesis a ver cómo funcionaba el asunto y hallé estos resultados: No funcionó. No fue el filtro adecuado… Habrá que buscar otro. Quizás el filtro “Sharpen” sea el correcto. Fue todo este trabajo fue experimento fallido, pero aprendí bastante al programarlo. Esta es otra de las virtudes de la programación lúdica.

Friday, July 11, 2014

¿En qué piensan lo spammers?


Yo supondría que el correo no deseado, el spam, tendría que haber disminuido ya a estas alturas del cómputo y de la tecnología que vivimos. La razón me parecía obvia, por una parte, los clientes de correo son cada vez más sofisticados y ya filtran muchos mensajes que son sin duda spam. Por otra parte, ya la gente está más educada en el tema, o al menos suponía eso yo, y entonces eliminaría de inmediato, sin siquiera abrir esos mensajes por mera curiosidad. Lo interesante es que el correo chatarra sigue llegando por montones. Deshabilité los filtros para ver qué clase de correos basura me llegaban y en un día típico uno puede tener unos 200 mensajes o más, con el 95% al menos de spam puro.

Pero ¿en qué piensa el spammer cuando manda correos así? Primero en que tiene que poner en el título de su mensaje algo que llame la atención y apele al menos a la curiosidad del receptor a abrir el mensaje. Y encuentro que la mayoría de los mensajes actuales de spam que recibo ponen en su título que ya Google, Facebook o Yahoo, me han aceptado para trabajar con ellos, por unos 90 mil dólares al año. Claramente esto es mentira y si nos atrevemos a seguir el enlace que se nos indica, es probable que acabemos en un sitio donde venden medicinas como el viagra por correo. No hay de hecho ser muy inteligente para saber que Google, Yahoo o Facebook no pueden tener en sus planes contratarme cuando ni siquiera he pedido trabajar con ellos. Pero eso no les importa. Los spammers mienten sin ningún remordimiento.

Una vez que ya el spammer tiene el título de su correo, pondrá un texto lleno de enlaces sugestivos. Uno de ellos, el enlace para aceptar la contratación de Yahoo, Google o Facebook, o bien, en algunos casos, el mensaje de spam me ofrece el último iPhone o el Samsung Galaxy quién sabe qué versión de manera gratuita. Pero bueno, hay que ser muy ingenuos para pensar que hay algo gratis en este mundo. Aún así, mucha gente sigue dando click a estos mensajes en sus vanas esperanzas de hacerse de ese oscuro objeto del deseo que es un iPad o un iPhone.

Curiosamente, hay más tipos de correo spam. En ellos se nos advierte que hay información de nosotros en la red que nos deja mal parados, en una mala situación, ¡hay alguien que públicamente habla mal de mí! Por supuesto que esto es falso porque los spammers les mandan a millones de personas el mismo mensaje. El punto es que el spammer piensa que ya gana algo si el receptor abre al menos su mensaje. Por cierto, en un afán de evitar los filtros, algunos mensajes chatarra contienen un par de párrafos con un conjunto de palabras  de diversos temas y con ello, impedir que los filtros bayesianos bloqueén este tipo de mensajes.

Un correo chatarra que se sigue repitiendo es la carta de una señora que vive en África y que se muere, pero que vio nuestro correo y nos deja chorrocientos mil millones de panchólares. Por supuesto que esto es otra versión del penoso fraude nigeriano, que quiero creer ya nadie en su sano juicio puede creer. Pero la verdad no sé, a lo mejor estoy sobreestimando a la raza humana.

Pero todo esto me parece francamente idiota. Porque miren: me llega un mensaje de spam y me doy cuenta (al abrirlo) que sí lo es. Lo borro y punto. ¿Es que acaso hay estadísticas fíables que indiquen que un mensaje chatarra, al ser abierto, tiene más posibilidades de vendernos algo? Yo francamente dudo que existan siquiera este tipo de estadísticas.

Como sea, el spam parece que se quedará por el resto del Internet y de los siglos. Los mercachifles en todos los años y en cualquier país, suelen tener una nula ética o al menos -en su mayoría- esta ética simplemente no funciona como los seres humanos pensamos. Yo creo que esa idea de que se pueden seguir vendiendo cosas mandando correo spam es cada vez más obsoleta. Cuando los spammers se den cuenta que ya no venden, buscarán otra alternativa y dejarán de molestarnos con este tipo de correos que satura la red de redes y que la mayoría de las veces termina en la papelera de los usuarios. Mientras tanto, estos spammers buscarán entender cuáles son las necesidades primigenias de quien está en Internet: un nuevo teléfono inteligente, una tablet más poderosa que ninguna, un trabajo de ensueño en las empresas de tecnología más famosas o bien, esa necesidad única del ser humano de cerrar toda el razonamiento cuando un extraño les ofrece no sé cuantos millones de euros o dólares y además, creerles que puede ser verdad.