Sunday, April 27, 2025

¿El Filtro “Moiré” revela problemas de software o hardware?


Las computadoras modernas manejan un mundo de gráficas. Hoy en día cualquier computadora tiene una tarjeta gráfica que puede presentar casi unos 17 millones de colores. Y de hecho, no tiene sentido hacer hardware más sofisticado para presentar más combinaciones de colores porque simplemente el ojo humano ya no los reconoce. 

Otro punto importante es la resolución de dichas tarjetas gráficas. La mayoría puede desplegar desde 320 x 200 puntos hasta unos 2000 x 2000 puntos e incluso algunas tarjetas pueden manejar resoluciones de 4K. Esto hace que las imágenes y fotografías que se desplieguen en el monitor se vean muy nítidos, con luminosos colores y cada vez más cercanas a la imagen original. 

Por otra parte, los filtros gráficos son una vertiente artística del procesamiento digital de imágenes y se han escrito un buen número de rutinas para convertir las imágenes en toda clase de representaciones gráficas. Por ejemplo, hay filtros elementales como aquellos que cambian las imágenes en color a tonos de gris, o bien, que manipulan contraste y brillo fácilmente. Sin embargo, hay filtros que requieren mucho más trabajo. Uno de ellos lo descubrí en Instagram y pensé que no podía ser muy difícil realizarlo. El efecto toma una fotografía (puede ser en color o blanco y negro), y tomar un punto central de dicha imagen. Una vez en esa posición se empiezan a pintar círculos concéntricos hasta llenar toda la imagen. La siguiente fotografía muestra la idea:


 Imagen 1

Nótese que en esta imagen los círculos concéntricos se ven perfectos. El código que escribí en Delphi me dio (usando otra imagen porque no tengo la original), lo siguiente (ver Imagen 2):


Imagen 2


Puede verse que los círculos concéntricos no son perfectos (como en la imagen 1). Véase una parte de la Imagen 2 amplificada (Imagen 3):


Imagen 3


El algoritmo para crear este efecto es relativamente simple, pero las rutinas que pintan círculos en la pantalla parecen no hacer correctamente la tarea. Mi primera sospecha fue que la resolución de las tarjetas gráficas, para el consumidor final de electrónica, tienen muy mala resolución. Sin embargo, hay muchas imágenes en Internet con este efecto y se ven perfectamente bien. Así que mi sospecha recayó en algo que se llama antialias o en español, “suavizado”, lo cual funciona añadiendo píxeles grises a lo largo del borde de una línea o curva para integrarse con el color de fondo. Este proceso de fusión reduce la visibilidad de los bordes irregulares, haciéndolos más suaves y menos visibles. Un ejemplo exagerado de esto puede verse aquí (Imagen 4):


Imagen 4


La cuestión es ahora averiguar la razón del problema que se presenta al dibujar círculos que –al menos en teoría– deberían ser perfectos, pero hay alguna razón que impide que se p0jnten correctamente. Seguiremos investigando. 

No comments: