¿Son incorrectos los algoritmos de reescalado de imágenes que utilizamos habitualmente? Tal como nos explica con ejemplos Eric Brasseur, prácticamente todos los programas de tratamiento de imágenes tienen el mismo problemas al cambiar el tamaño de las imágenes.
El problema viene del tratamiento de la corrección gamma, es decir, de la codificación de la luminancia de las imágenes, que no es considerada al hacer el reescalado de las imágenes, lo que provoca que el resultado no sea el correcto.
Con una explicación como esta es difícil entender cual es el problema, así que lo mejor es ver unos ejemplos en los que se muestre, como el que encabeza esta entrada.
Si nos fijamos, hay sutiles diferencias en la luminosidad de la imagen, que en algunos puntos se aprecian más que en otros, aunque dependiendo de como tengamos ajustado nuestro sistema, si lo tenemos calibrado, del brillo del monitor e, incluso, del tipo de monitor puede ser más o menos difícil de apreciar.
Lo veremos aun mejor en este ejemplo en blanco y negro.
En la parte izquierda podemos ver como el reescalado ha provocado que una parte quede más oscura que la otra cuando, en la imagen original, la luminosidad de ambas era la misma. Con un algoritmo adecuado para tener esto en cuenta el resultado es el que vemos en la derecha, ambas tienen la misma luminosidad al cambiar el tamaño.
El problema viene porque no se utiliza un sistema lineal para representar la luminosidad, sino exponencial. Esto significa que en una escala de 0 a 255 la luminosidad del gris 127 no representa la mitad que la del blanco que queda en el 255., sino que es un 22% de este. Para encontrar el gris que representa la mitad de luminosidad hay que coger el de la posición 186.
La solución vendría dada por usar un algoritmo que exprese la escala de forma lineal. En algunos programas, como Gimp o Cinepaint es posible hacerlo toqueteando parámetros o aplicando scripts, pero en otros será necesario que el fabricante se de cuenta del problema y actualice el algoritmo.
Como curiosidad, una última imagen que está convenientemente manipulada para que, al cambiarle el tamaño no se vea nada con los algoritmos usados habitualmente. Podéis comprobarlo vosotros mismos guardándola en el disco y abriendola con cualquier programa de edición de imágenes.
Más información | Eric Brasseur. Más información | Wikipedia.
Ver 3 comentarios