FOTOS WEB
  CON GRAN
  NITIDEZ


   Creado
   7 Jul 2007


   Actualizado
   20 Nov 2007


   


© Guillermo Luijk 2007



INTRODUCCIÓN

Siempre me llamó la atención como algunos autores publican en la Web unas fotos, especialmente en paisajes, con una gran nitidez y sin ningún tipo de halos de enfoque, lo que hace imposible replicarlas con la máscara de enfoque sobre una imagen interpolada a la manera clásica.

Estas fotos presentan unas transiciones entre zonas de distinto nivel de la imagen tan abruptas que simplemente no hay transición: por decirlo de una manera llana un pixel es de un color, y el contiguo ya aparece de otro color sin mediar ningún degradado entre ambos.

Un ejemplo de imagen de este tipo sería la de la derecha en la siguiente muestra comparativa:


Fig. 1 Comparación entre reescalado tradicional (izq.) y reescalado de alta nitidez (der.).



REESCALADO POR SELECCIÓN DE PÍXELES 'NEAREST NEIGHBOUR'

He llegado a la conclusión de que para obtener tal acutancia no sirven los algoritmos de reducción de tamaño de imagen basados en interpolación; en ellos los píxeles destino son una combinación de los píxeles originales con la consiguiente pérdida de nitidez debida al promediado en las zonas de transición.

Para lograrlo se puede acudir a un algoritmo de reescalado más simple, por selección individual de píxeles, donde se escogen ciertos píxeles de la imagen de partida para formar la imagen reescalada de modo que en ésta última cada píxel corresponderá a uno y solo un píxel de la foto original. Su denominación en inglés es Nearest neighbour (el vecino más cercano).

En Photoshop a este tipo de escalado se le ha llamado 'Por aproximación', y para hacer uso de él basta acudir al menú Imagen → Tamaño de imagen y seleccionar la opción correspondiente en el desplegable inferior.


VENTAJAS DE ESTE MÉTODO

La principal como hemos dicho y comprobado es un aumento claro de la acutancia. Las transiciones dejan de existir con lo que los cambios de nivel entre píxeles contiguos conteniendo diferente textura son totalmente abruptos.

En segundo lugar es un método que no requiere ningún enfoque posterior, por lo que la ausencia de halos de enfoque es absoluta.

Aunque conceptualmente descartar píxeles de nuestra imagen de partida en principio supone una pérdida información, ya que no todos los píxeles de la imagen original van a aportar información a la imagen resultante, este hecho en reescalados a la baja se torna en la práctica en ventaja porque dicha pérdida solo se va a producir en las zonas de más detalle de la fotografía, donde un píxel puede estar aportando valores de niveles diferentes de los contiguos. Y es precisamente en esos casos donde un reescalado por interpolación tampoco nos va a resultar satisfactorio pues la información de sus píxeles va a promediarse creando zonas de tonos suaves sin detalle. Es decir, la información de todos los píxeles estará ahí de algún modo, pero combinada con la de otros píxeles y por tanto no reconocible.

Un último punto a favor, aunque esto no aplica si no somos desarrolladores, es que la selección de píxeles es un método cuya implementación en cualquier programa es trivial y debido a su sencillez muy rápido de ejecutar.


DESVENTAJAS DE ESTE MÉTODO

Representan un problema para el reescalado por selección de píxeles las zonas con formas geométricas con líneas rectas, donde la selección de píxeles va a dar lugar a un acusado efecto de diente de sierra o aliasing en los límites de dichos elementos. Por eso comentaba al principio que se trata de una técnica especialmente buena para paisajes dada la ausencia de líneas rectas en los mismos. Un reescalado por interpolación mitiga este efecto gracias a un filtrado paso bajo anti aliasing de salida.


Fig. 2 Efecto de aliasing producido con el reescalado por selección de píxeles.


También pueden darse situaciones de elementos puntuales de detalle muy pequeños (un ojo en una cara de reducido tamaño, un pequeño objeto en una pared,...) que estando formados por muy pocos píxeles desaparezcan totalmente o queden irreconocibles al seleccionar solo parte de sus píxeles. Hay que tener cuidado con este tipo de detalles de la imagen.

Otra desventaja, o ventaja según sean unas u otras nuestras intenciones, es la pérdida del efecto reductor de ruido que nos brinda la interpolación. En un reescalado por selección los píxeles "ruidosos" que finalmente entren a formar parte de la imagen resultante van a aparecer intactos. Esto como digo puede ser contraproducente si lo que queremos es librarnos del ruido, o beneficioso si por el contrario pretendemos preservar el grano original de la imagen. Yo por ejemplo lo uso intensivamente en todos los artículos sobre ruido, pues permite hacer reducciones de los recortes de la imagen preservando intacta la relación señal a ruido.


Fig. 3 Comparativa de ruido con reescalado por interpolación o selección de píxeles.


Por último decir que al obtener una imagen con más detalle y más ruido (o mejor dicho menos reducción de ruido), nos va a generar un archivo de mayor tamaño para una calidad dada, lo que juega en contra de la principal aplicación de este método que es la publicación en Web.

Es un método que solo sirve para llevar a cabo una reducción del tamaño de la imagen, por eso me he centrado en su utilidad para la publicación Web de las fotos. Aumentar el tamaño de una imagen con él no es aconsejable (salvo para mostrar el detalle en recortes al 100% o superiores) porque incrementará la visibilidad de los píxeles de la misma.


MEJORA 1: REESCALADO COMBINADO SELECCIÓN/INTERPOLACIÓN

Como casi siempre lo que mejores resultados da es una técnica mixta que tome lo mejor de cada método. Lo que aquí propongo es tomar del método por selección de píxeles la base para formar la imagen global, y corregir en ella con el algoritmo de interpolación las partes puntuales donde el primer método puede darnos problemas.

Lograr esto en Photoshop es tan sencillo como colocar cada una de las dos versiones de la imagen reescalada en una capa, y con una máscara de capa "rescatar" de la imagen interpolada aquellas zonas que plantean problemas en la imagen reescalada por selección.

El reescalado por interpolación correspondería en Photoshop típicamente al método habitual de reescalado por 'Bicúbica' en sus distintas variantes, mientras el reescalado por selección de píxeles ya dijimos que se denomina en Photoshop 'Por aproximación'.

A continuación se muestran 3 versiones de la imagen del ejemplo inicial: la primera con un reescalado completo en Bicúbica enfocada, la segunda con un reescalado por Aproximación, y por último la unión de ambas indicando la máscara de capa usada para rescatar de la primera imagen las zonas que presentaban aliasing en el banco:


Fig. 4 Imagen reescalada en Bicúbica enfocada.


En la siguiente imagen puede verse claramente ese punto extra de nitidez que buscamos, pero las líneas rectas del banco han provocado aliasing:


Fig. 5 Imagen reescalada por Aproximación.


La imagen resultante tiene en general la nitidez de la anterior y los defectos eliminados gracias a la primera:


Fig. 6 Imagen final de gran nitidez y sin aliasing.


Con esta máscara de capa, que no requiere ser muy cuidadosa, hemos eliminado el aliasing allí donde se nos producía:


Fig. 7 Máscara empleada para corregir el aliasing de la imagen por Aproximación.


Creo de todos modos que da mejores resultados otro método de mejora consistente en hacer dos reescalados consecutivos. Se comenta en el siguiente apartado.


MEJORA 2: REESCALADO DOBLE SELECCIÓN/INTERPOLACIÓN

Hay una mejora adicional que he podido probar últimamente y que funciona verdaderamente bien para reducir el efecto de aliasing, con lo que se hace bastante factible la posibilidad de evitar tener que acudir al reescalado por interpolación para mejorar las zonas más problemáticas.

Además permite registrar mejor la información de la toma original mejorando la apariencia final y minimizando algunos de los riesgos comentados de este tipo de reescalado (ruido y escenas con detalles pequeños pero significativos).

Se trata de hacer un simple paso intermedio en el reescalado por selección de píxeles (por Aproximación en PS), en el que reescalaremos primero la imagen por interpolación (Bicúbica en PS) hasta exactamente el doble de píxeles que vaya a tener la imagen final.

Es decir, si por ejemplo se trata de una fotografía cuyo tamaño final en Web vaya a ser de 800 píxeles de ancho, reescalarla interpolando (Bicúbica normal, sin enfocar) a un ancho de 1600 píxeles, y hecho esto aplicar el reescalado por selección de píxeles (por Aproximación) hasta los 800 píxeles finales.

Por qué mejora la calidad final? conceptualmente estamos recogiendo más información de la fotografía original ya que el reescalado por interpolación se ha encargado de agregarla, y además al descartar "solo" tres de cada cuatro píxeles el balance final es más equilibrado y menos propenso a hacer extraños.

Podría pensarse que se debiera perder parte de esa nitidez tan potente que perseguimos, pero la práctica demuestra que no es así. Podéis probarlo vosotros mismos.

Como muestra en esta foto puede verse la gran nitidez alcanzada en las texturas tanto de los árboles como las lamas de madera reduciendo el efecto de aliasing que habríamos obtenido caso de no hacer el reescalado intermedio:


Fig. 8 Utilización de reescalado Bicúbica previo al reescalado por Aproximación.


En esta panorámica paisajística puede verse otro ejemplo de utilización del reescalado en dos fases donde no se recurrió a la interpolación más que para la zona de los carteles. Cosa por otro lado esperable por tratarse del único elemento humano de la escena.


~~~


Si este contenido te ha resultado útil, considera realizar una contribución para asegurar la continuidad de esta web. Mantenerla supone un importante esfuerzo, así como un espacio y ancho de banda considerables en el servidor. Es una operación sencilla y totalmente segura.



gluijk@hotmail.com
  TUTORIALES

HOME