Transformaciones geométricas

  • Francesc Martí Pérez

  • Sílvia Pujalte Piñán

PID_00258149
Ninguna parte de esta publicación, incluido el diseño general y la cubierta, puede ser copiada, reproducida, almacenada o transmitida de ninguna forma, ni por ningún medio, sea este eléctrico, mecánico, óptico, grabación, fotocopia, o cualquier otro, sin la previa autorización escrita del titular de los derechos.

Introducción

En los módulos «Histogramas y transformaciones puntuales», «Transformaciones espaciales lineales» y «Transformaciones espaciales no lineales» hemos estudiado transformaciones puntuales y espaciales (lineales y no lineales) aplicadas a imágenes. En todas ellas la transformación consiste en modificar el nivel de gris (o el color, si es el caso) de cada píxel, sin modificar su posición. En este módulo estudiaremos las transformaciones geométricas, que lo que hacen es modificar la posición de los píxeles de la imagen original; dentro de estas transformaciones se incluyen la interpolación y el diezmado, en las cuales nos centraremos, y otras como la traslación o la rotación.
En el primer apartado introduciremos el concepto de resolución de una imagen y estudiaremos la relación que existe entre la cantidad de píxeles de una imagen, la resolución y sus dimensiones físicas.
El segundo apartado lo dedicaremos a describir la primera de las transformaciones geométricas que trataremos en este módulo: la interpolación y sus aplicaciones. Este apartado nos servirá también como base para el tercero, en el cual describiremos la segunda transformación geométrica: el diezmado.
En el cuarto apartado describiremos muy brevemente otras transformaciones geométricas, como la rotación, el sesgado y la perspectiva.
Los ejemplos y ejercicios de este módulo se hacen con la aplicación Photoshop, y las imágenes que se detallan en la tabla resumen al final del módulo; también en esta ocasión recomendamos seguir los ejemplos con Photoshop a medida que se estudia.

Objetivos

Los principales objetivos de este módulo son:
  1. Introducir el concepto de resolución.

  2. Introducir el concepto de dimensiones físicas de la imagen.

  3. Relacionar las dimensiones físicas y virtuales (en píxeles) de la imagen.

  4. Introducir el concepto de transformación geométrica.

  5. Introducir el concepto de interpolación y los diferentes métodos para realizarla.

  6. Introducir el concepto de diezmado y los diferentes métodos para realizarlo.

  7. Relacionar, mediante experimentos dirigidos, los conceptos introducidos con la transformación de imágenes.

Estos objetivos están relacionados con las siguientes competencias de la asignatura:
A. Capacidad de modificar una imagen digital en base a unos requisitos previos.
B. Capacidad de cambiar la resolución, la relación de aspecto y la forma de una imagen.
C. Capacidad de discriminar las opciones factibles de las que no lo son, en un estudio de especificaciones de un proyecto, sistema o tarea.
D. Capacidad de visualizar e imprimir imágenes de forma eficaz y eficiente.
Y con las siguientes competencias generales del grado:
11. Capacidad de capturar, almacenar y modificar información de audio, imagen y vídeo digitales aplicando principios y métodos de realización y composición del lenguaje audiovisual.
23. Capacidad de analizar un problema en el nivel de abstracción adecuado a cada situación y aplicar las habilidades y conocimientos adquiridos para abordarlo y resolverlo.

1.Resolución y tamaño de una imagen

Hasta ahora, cuando nos hemos referido a las dimensiones de las imágenes, hemos hablado únicamente de píxeles; por ejemplo, hemos visto imágenes de 128 × 128 o 512 × 512 en los ejemplos y ejercicios. Esta medida es una medida digital, que solo tiene sentido en un entorno informático. Puede depender del tratamiento aplicado a imágenes ya existentes, como las que estamos usando en esta asignatura, o del instrumento de adquisición de la imagen, por ejemplo el sensor óptico CCD de una cámara de fotos. De las dimensiones en píxeles de una imagen depende su peso de almacenamiento (1) .
Preguntémonos ahora cuál es el tamaño físico de una imagen, qué superficie ocupará cuando la imprimamos. Y la respuesta es que, físicamente, la imagen será tan grande o tan pequeña como queramos; es un tamaño relativo, que depende de otro parámetro que es la resolución. La única medida absoluta con que contamos cuando nos referimos a imágenes es la medida en píxeles.
La resolución indica el número de píxeles que asignamos por unidad de medida, y se expresa habitualmente en píxeles por pulgada (2) (ppi, Pixels per Inch, en sus siglas en inglés) por influencia del sistema métrico anglosajón. La resolución nos da una idea de la definición de la imagen: si en cada pulgada hay 300 píxeles, la imagen está más definida que si hay 72. En resumen, cuanto mayor es la resolución, más definición se consigue. La experiencia y la tecnología han determinado algunos valores típicos de resolución según la aplicación de las imágenes; así, para visualizar en pantalla se suele utilizar 72ppi, para una impresión estándar entre 300 y 600ppi y para negativos alrededor de 4.000ppi.
PPI y DPI
No tenemos que confundir la resolución digital de una imagen, que se expresa en píxeles por pulgada, pixels per inch (ppi), con la resolución de impresión de una impresora, que se expresa en puntos por pulgada, dots per inch (dpi). Por lo tanto:
  • PPI: indica la resolución de la imagen digital y determina qué medidas físicas tendrá cuando la imprimimos.

  • DPI: indica la cantidad de puntos de tinta por pulgada que una impresora es capaz de plasmar. En general, a mayor DPI obtenemos impresiones más nítidas y detalladas. Conviene subrayar que los DPI de una impresora nunca condicionarán las medidas físicas que tendrá una imagen digital cuando la imprimimos.

A veces, también se usan las siglas PPP, pero son algo más confusas. Por normal general, indican puntos por pulgada (DPI), pero también las podemos encontrar en textos como siglas de píxeles por pulgada (PPI).
Conocida la medida en píxeles, cuando fijamos la resolución fijamos también la medida física de la imagen, que es el cociente de los dos valores:
medida (pulgadas) = medida (píxeles) resolución (píxeles/pulgada) (1)
Ejemplo
La imagen de la figura 1 tiene unas dimensiones de 256 × 256 píxeles; la resolución que vemos con la herramienta de Photoshop Image/Size cuando abrimos el fichero es de 72 píxeles/pulgada. Con estos datos, las dimensiones de la imagen entendida como documento son 3,56 × 3,56 pulgadas, o lo que es lo mismo, 9,03 cm × 9,03 cm, como nos muestra la figura 1a. Si aumentamos la resolución a 300 píxeles/pulgada, el tamaño del documento se reduce y pasa a ser de 0,85 × 0,85 pulgadas, es decir, 2,17 cm × 2,17 cm, y se reduce en la misma proporción en que aumenta la resolución (figura 1b).
Figura 1. a. Dimensiones de la imagen por defecto; b. dimensiones cuando se cambia la resolución
Figura 1. a. Dimensiones de la imagen por defecto; b. dimensiones cuando se cambia la resolución
Fijémonos que las dimensiones en píxeles no han variado, así como tampoco ha variado el peso del fichero (64 KB). La imagen digital es exactamente la misma en los dos casos, pero cuando la imprimamos veremos que sus medidas físicas son diferentes. Si estáis siguiendo el ejemplo con Photoshop, podéis intentar guardar la imagen con las dos resoluciones e imprimirlas; comprobaréis que, efectivamente, su tamaño ha cambiado en la proporción que se muestra en la figura 2.
Figura 2. Imagen de la figura 1 con: a. resolución de 72 ppp; b. resolución de 300 ppp
Figura 2. Imagen de la figura 1 con: a. resolución de 72 ppp; b. resolución de 300 ppp
Como hemos visto, al fijar la resolución determinamos el tamaño de la imagen; lógicamente, lo mismo sucede en caso contrario: si fijamos el tamaño físico de la imagen, la resolución queda también determinada (desactivando en Photoshop el remuestreo de la imagen). En la figura 3 vemos la misma imagen que en la figura 1, pero ahora queremos que, una vez impresa, su tamaño sea de 12 cm × 12 cm. Cuando modificamos este valor en el menú de la herramienta Image size, la resolución se reduce en la misma proporción que ha aumentado el tamaño físico. Una vez más comprobamos como las medidas de la imagen en píxeles no varían; la imagen digital continúa siendo la misma.
Figura 3. Imagen de la figura 1, fijando su tamaño de impresión
Figura 3. Imagen de la figura 1, fijando su tamaño de impresión
Y, por supuesto, conocidos el tamaño físico de la imagen y su resolución, queda fijado el tamaño en píxeles de la imagen. Un ejemplo típico de este caso es la adquisición de una imagen con un escáner: el tamaño físico es el del documento que escaneamos y la resolución la escogemos nosotros entre las opciones que nos da el aparato.
Si vamos reduciendo la resolución para hacer que la impresión de la imagen sea más grande, la calidad percibida se resiente, va perdiendo definición y sus píxeles se distinguen claramente. Llevándolo al límite, si bajamos la resolución hasta 1 píxel/pulgada, cada píxel se verá como un cuadrado de 1 pulgada de lado.
Cuando se aumenta la resolución podemos ver la imagen desde más cerca con la misma percepción de calidad. En cambio, si reducimos la resolución, para mantener la misma percepción de calidad nos tenemos que alejar, ya que el tamaño del píxel es mayor. Esto pasa, por ejemplo, cuando se imprimen carteles que no se verán de cerca.
Para cambiar las medidas en píxeles de una imagen, lo que hacemos es, como veremos en los siguientes apartados de este módulo, aplicar una transformación geométrica: una interpolación si queremos aumentar el tamaño, o un diezmado si queremos disminuirlo.

1.1.Ejercicios

Ejercicio 1
Partiendo de una imagen con unas dimensiones en píxeles de 800 × 600 y una resolución de 72ppi, responded las siguientes preguntas:
a) Si cambiamos la resolución de la imagen a 300ppi, sin modificar sus dimensiones en píxeles, ¿cuál de las dos imágenes se vería más grande en el monitor del ordenador, el original o la modificada?
b) ¿Cuáles serían las medidas en centímetros de estas imágenes al imprimirlas en una impresora con una resolución de 100dpi?
c) ¿Cambiarían sus medidas al imprimirlas en una impresora con una resolución de 300dpi? ¿Habría diferencias?
Solución
a) Como hemos visto, los píxeles por pulgada (ppi) de una imagen nos indican cuáles serán sus medidas físicas al imprimirla. Después de hacer este cambio, la imagen continuará teniendo las mismas dimensiones en píxeles y, por lo tanto, la imagen modificada se verá igual que la original en el monitor del ordenador.
b) La resolución de impresión de una impresora solo afecta a la nitidez y precisión de los detalles de la imagen impresa, pero nunca a sus medidas. Por lo tanto, este valor de 100dpi no es necesario para calcular cuáles serían sus medidas.
Sus medidas serían:
800 (píxeles) / 72 (píxeles por pulgada) ≈ 11,11 pulgadas ≈ 28,22 cm
600 (píxeles) / 72 (píxeles por pulgada) ≈ 8,33 pulgadas ≈ 21,17 cm
c) Como queda explicado, los puntos por pulgada de una impresora no afecta a las medidas físicas de la imagen impresa.
Al imprimir a 100dpi, la impresora usará (100dpi × 100dpi) / (72ppi× 72ppi) ≈ 1,92 puntos de tinta para cada píxel de la imagen. En cambio, a 300dpi, los puntos de tinta que utilizará para cada píxel son (300dpi × 300dpi) / (72ppi× 72ppi) ≈ 17,36, dando una imagen de las mismas medidas, pero más nítida y con detalles más precisos.
Ejercicio 2
Si escaneamos una hoja DIN A4 con una resolución de 300ppi, ¿cuál será el tamaño de la imagen en píxeles? ¿Cuáles serán las medidas de la imagen en milímetros?
Solución
Una hoja DIN A4 tiene unas dimensiones de 210 mm × 297 mm (que en pulgadas es 8,268 × 11,693). Si la resolución es de 300ppi, las dimensiones en píxeles serán:
  • 8,268 pulgadas × 300 píxeles/pulgada = 2.480 píxeles,

  • 11,693 pulgadas × 300 píxeles/pulgada = 3508 píxeles.

La imagen en milímetros tendrá las mismas dimensiones que la hoja que escaneamos. Si disponéis de un escáner podéis comprobar estos valores.
Ejercicio 3
A la imagen escaneada en el ejercicio 1 le cambiamos la resolución a 600ppi. ¿Cuál será el tamaño de la nueva imagen en píxeles? ¿Y en milímetros?
Solución
Si aumentamos la resolución al doble, las dimensiones en milímetros se reducen a la mitad (105 mm × 148 mm), es decir, la hoja A4 se convierte en A6.
Ejercicio 4
Queremos imprimir en formato A3 la imagen escaneada en el ejercicio 1. ¿Cómo tenemos que cambiar la resolución de la imagen?
Solución
Las dimensiones físicas de una imagen en formato A3 son las siguientes: 210 mm · 2 = 297 mm y 297 mm · 2 = 420 mm . Para que las dos dimensiones queden multiplicadas por 2 , tenemos que reducir la resolución por el mismo factor, y la nueva resolución será 300 píxeles / pulgada 2 = 212 píxeles / pulgada .

2.Interpolación

Las transformaciones geométricas modifican las relaciones espaciales entre los píxeles sin modificar el nivel; la imagen transformada contiene los píxeles de la imagen original con el mismo nivel de gris, pero en posiciones diferentes de las que ocupaban. Son transformaciones geométricas, por ejemplo, la interpolación, que aumenta la cantidad de píxeles de una imagen; el diezmado, que la reduce; o la rotación, que gira la imagen un determinado ángulo. Podemos interpretar este tipo de transformaciones como un cambio del punto de observación de la imagen; por ejemplo, si aumentamos la imagen es como si nos acercásemos a ella, y si la reducimos, como si nos alejáramos.
En general, las transformaciones geométricas se pueden estudiar en dos etapas:
  • La primera, la determinación de las nuevas coordenadas de cada píxel según el tipo de transformación. Así como describíamos las transformaciones puntuales con una curva o las espaciales con una máscara o un elemento estructural, las relaciones matemáticas que definen las nuevas posiciones en las transformaciones geométricas son complejas y lo que se hace habitualmente, y haremos también nosotros, es describirlas gráficamente.

  • La segunda etapa es el cálculo del valor de intensidad de los nuevos píxeles en la imagen transformada. Este valor se calcula a partir de la imagen original y los métodos utilizados son comunes en todos los tipos de transformación; en este módulo describiremos algunos de estos métodos.

La interpolación es la primera de las transformaciones geométricas que veremos.
La interpolación aumenta la cantidad de píxeles de la imagen original a la vez que mantiene la información de la misma. El objetivo es que la imagen transformada represente lo mismo que la imagen original.
En la interpolación, la primera de las susodichas etapas consiste en hacer que la imagen sea más grande, mediante el desplazamiento de filas y columnas y dejando espacio entre ellas para añadir nuevos píxeles. La segunda consiste en encontrar los valores de gris de los nuevos píxeles que mejor se adapten a la imagen original.

2.1.Posición de los píxeles en la imagen interpolada

Describiremos la primera etapa gráficamente con un ejemplo: transformaremos una imagen de 4 × 4 píxeles en una de 8 × 8 píxeles. En la figura 4a tenemos la imagen original, en la que cada punto representa un píxel con un determinado valor de gris. Para visualizar mejor la interpolación, colocamos encima una trama imaginaria cuyos puntos de cruce son las localizaciones de los píxeles.
El desplazamiento de las filas y las columnas lo haremos en dos pasos: primero (figura 4b) duplicamos el número de columnas, separamos los píxeles de la imagen original y dejamos espacio para añadir uno nuevo entre cada par de píxeles originales. A continuación, duplicamos el número de filas y dejamos igualmente espacio para añadir píxeles en medio (figura 4c). La trama sobre la imagen transformada tiene ahora espacio para 64 píxeles: los 16 originales más los que hemos añadido.
Figura 4. Interpolación en factor 2, vertical y horizontal
Figura 4. Interpolación en factor 2, vertical y horizontal
La relación entre el número de filas y columnas antes y después de la interpolación se conoce como factor de interpolación.
En el ejemplo se ha aplicado un factor de interpolación 2, puesto que duplicamos el número de filas y de columnas; si triplicásemos el número de filas y de columnas sería un factor de interpolación 3, etc. Obviamente, el factor de interpolación también puede ser un número no entero, y puede ser diferente en las dos dimensiones, aunque en ese caso estaríamos distorsionando la imagen al no mantener las proporciones.
Una vez definida la posición de los nuevos píxeles, queda por resolver cuál debe ser su intensidad; calculamos su valor a partir de los píxeles ya existentes siguiendo diferentes métodos, algunos de los cuales veremos a continuación. Hay que tener en cuenta que, independientemente del método que se utilice, una interpolación no mejora la calidad de la imagen original porque la «nueva» información la obtenemos a partir de la «antigua», de la información ya conocida (no añadimos nada). Al contrario, veremos que, dependiendo del factor de interpolación y de las características de la imagen, la interpolación introduce una distorsión visible.

2.2.Interpolación: método del vecino más próximo

El primer método de interpolación consiste en dar a cada nuevo píxel de la imagen transformada el mismo nivel de gris que el píxel más próximo. Tanto computacionalmente como conceptualmente es un método muy sencillo, pues solo involucra a un píxel.
La figura 5 muestra el resultado de esta interpolación para la imagen que ilustraba la interpolación en la figura 4. Los puntos de cruce vacíos de la cuadrícula en la figura 4c se han llenado con píxeles cuyo valor es el mismo que el del píxel original más próximo. La región sombreada de la figura muestra el píxel en la posición (0,0) y sus tres réplicas; para el resto de píxeles, el procedimiento es el mismo.
Figura 5. Interpolación: método del vecino más próximo para la figura 4
Figura 5. Interpolación: método del vecino más próximo para la figura 4
Estudiemos la validez de este método sobre una imagen concreta. La figura 6a muestra la imagen original (de dimensiones 256 × 256), que interpolamos con un factor de 4; la imagen interpolada tiene, por tanto, dimensiones 1024 × 1024. Por cuestiones de espacio, en la figura 6b reproducimos solo un fragmento de la imagen interpolada, la remarcada en la figura 6a.
Figura 6. Interpolación: método del vecino más próximo
Figura 6. Interpolación: método del vecino más próximo
Como podemos observar, la interpolación por vecino más próximo distorsiona los contornos de los objetos de la imagen y produce el efecto conocido como mosaico o pixelado. La percepción que tenemos es que ahora los píxeles son lo bastante grandes como para distinguirlos. El efecto es más evidente en las zonas donde hay variaciones fuertes de nivel, como por ejemplo los ojos del leopardo en la imagen que estamos considerando.

2.3.Interpolación bilineal

La interpolación bilineal toma como referencia para calcular el nivel de gris de un nuevo píxel los valores de sus cuatro vecinos más próximos.
En nuestro caso, el uso de la interpolación bilineal equivale a calcular la intensidad del nuevo píxel como la media aritmética de las cuatro intensidades (3) . Con este método no se producen transiciones bruscas como con el anterior, porque la media las suaviza; recordemos que, cuando en el módulo «Transformaciones espaciales lineales» describíamos las máscaras de suavizado, veíamos que lo que hacían era determinar la media de los píxeles de la región de trabajo. Tal y como veíamos también en ese mismo módulo, podemos mirar de contrarrestar este efecto aplicando una máscara de realce para definir los contornos que hemos perdido.
La figura 7 muestra el resultado de interpolar la imagen de la figura 4 mediante interpolación bilineal. Si nos fijamos en la región sombreada, vemos como el nivel de gris de los nuevos píxeles situados en los bordes se calcula como la media aritmética de sus dos vecinos en la misma fila o columna (por ejemplo, el píxel en la posición (0,1) tiene nivel 30, que es la media de los niveles de los píxeles (0,0) y (0,2), 20 y 40, respectivamente. El nivel de los píxeles en el interior de la imagen se calculan a partir del valor de gris de los cuatro píxeles más próximos; en la región sombreada, el píxel en la posición (1,1) tiene un valor de gris 35, resultado de determinar la media del nivel de los píxeles en las posiciones (0,0), (0,2), (2,0) y (2,2), es decir, 20, 40, 40 y 40, respectivamente.
Figura 7. Interpolación bilineal
Figura 7. Interpolación bilineal
La figura 8 muestra el mismo fragmento de la misma imagen de la figura 6 interpolada mediante interpolación bilineal, también con un factor de 4. Ya no se observa el efecto de pixelado que veíamos en la imagen interpolada por el vecino más próximo, pero los contornos están ligeramente desenfocados.
Figura 8. Interpolación bilineal
Figura 8. Interpolación bilineal

2.4.Interpolación bicúbica

La interpolación bicúbica mejora los resultados de la interpolación bilineal, consigue más precisión y el efecto de desenfocado es menos evidente. Para calcular el nivel de gris de cada nuevo píxel utiliza los dieciséis píxeles vecinos, y da más importancia a los cuatro vecinos más próximos.
La figura 9 muestra, para la misma imagen de los dos ejemplos anteriores, el resultado de interpolar mediante una interpolación bicúbica. Como avanzábamos, los contornos están más definidos que con la interpolación bilineal.
Figura 9. Interpolación bicúbica
Figura 9. Interpolación bicúbica
La elección del método de interpolación depende, sobre todo, de la eficiencia del ordenador que utilizamos y de las características de la imagen. De entre los métodos de interpolación disponibles actualmente, la interpolación bicúbica es la que consigue un mejor compromiso entre tiempo de cálculo y calidad, motivo por el cual se utiliza mucho.
En cualquier caso, hemos de ser conscientes de que, como avanzábamos al comienzo del apartado, la interpolación no mejora nunca la imagen original. Si es posible, siempre es mejor adquirir directamente la imagen con el tamaño de la imagen interpolada que interpolar una imagen más pequeña.

2.5.Aplicaciones de la interpolación. Zoom

En el apartado 1 estudiábamos la relación entre el tamaño físico, medido en píxeles, y la resolución de una imagen, y veíamos como, dada una imagen con unas determinadas dimensiones en píxeles, aumentar su tamaño físico implica reducir su resolución, con lo que se pierde calidad en la visualización.
La aplicación más inmediata de la interpolación es el aumento del número de píxeles para poder aumentar las dimensiones físicas de la imagen y mantener la resolución. Como hemos visto en la imagen que hemos usado como ejemplo, la interpolación no resuelve el problema definitivamente, ya que también tiene limitaciones, pero nos permite aumentar las medidas físicas más de lo que podemos hacerlo sin interpolar.
La otra aplicación de la interpolación es el zoom, el acercamiento a la imagen. Todos hemos experimentado este efecto con Photoshop, por ejemplo, cuando ampliamos la imagen para observar un detalle, o con la cámara de fotos digital. En este segundo caso no debemos confundir lo que llamamos «zoom óptico» con el «zoom digital». El zoom óptico es un zoom real, que se consigue moviendo las lentes para modificar la distancia focal antes de adquirir la imagen, mientras que el zoom digital es una interpolación (siguiendo alguno de los métodos vistos anteriormente, por ejemplo) que se realiza una vez la imagen ya ha sido adquirida. Por tanto, aunque ambas imágenes tendrán el mismo tamaño en píxeles, el zoom óptico obtiene una imagen de más calidad que el digital.

2.6.Ejercicios de interpolación

Ejercicio 1
Utilizaremos la imagen nat2.pgm para comprobar en dos etapas el proceso de interpolación de una imagen. En primer lugar, cambiad el ancho de la imagen a 512 píxeles, manteniendo la altura en 256; a continuación, en la nueva imagen, cambiad la altura a 512. Repetid el proceso, doblando primero la altura y a continuación la anchura. Finalmente, modificad en la imagen original tanto la altura como la anchura a 512. ¿Qué conclusiones sacáis?
En este ejercicio es indiferente el método de interpolación utilizado, porque nos fijamos solamente en la posición de los píxeles.
Solución
Cuando doblamos el ancho de la imagen obtenemos una imagen distorsionada. La distorsión se corrige cuando doblamos a continuación la altura y la imagen vuelve a tener las proporciones de origen; la hemos interpolado con un factor de interpolación 2. Si comenzamos doblando el ancho de la imagen, esta también se distorsiona, pero los resultados cuando doblamos la altura son, como esperábamos, los mismos que en el primer caso, y los mismos que obtenemos al doblar directamente las dos dimensiones (4) .
Ejercicio 2
Abrid la imagen clock.pgm y aplicad una interpolación con factor 1,5 y el método de interpolación del vecino más próximo. Describid la calidad de la imagen transformada a partir de los diferentes objetos que aparecen en ella (marco de fotos, reloj y libro) y del fondo y la superficie sobre la que están.
Solución
En el marco de fotos se ve claramente un efecto de pixelado, mientras que en el reloj este efecto se aprecia sobre todo en la esfera y los contornos. En el libro también está más presente en los contornos. El fondo y la superficie prácticamente no se ven pixelados, solo el reflejo del marco de fotos. En definitiva, comprobamos que las regiones de las imágenes donde los niveles de grises son más uniformes son menos sensibles a los errores provocados por el duplicado de los píxeles, y que cuantas más variaciones de nivel y más próximas, más pixelado.
Ejercicio 3
Continuamos con la imagen clock.pgm; en este ejercicio la interpolaremos con el mismo factor que en el anterior, pero usando la interpolación bilineal. Describid la calidad de la imagen resultante y comparadla con la de la imagen interpolada en el ejercicio 2.
Solución
Si comparamos con la imagen obtenida mediante interpolación en el ejercicio 2, el resultado es mucho mejor; no hay pixelado, que es un defecto muy evidente. En general, los contornos de los objetos se ven borrosos, han perdido nitidez respecto a la imagen original.
Ejercicio 4
Interpolaremos ahora la imagen clock.pgm con un factor de interpolación 2 e interpolación bicúbica; comparad los resultados con los del ejercicio 3.
Solución
La imagen interpolada es más nítida que la del ejercicio anterior; la diferencia es lo bastante apreciable como para considerarla una mejora respecto al caso bilineal.
Ejercicio 5
Finalmente, interpolad de nuevo la imagen clock.pgm con los tres métodos de interpolación utilizados en los ejercicios anteriores y un factor de interpolación de 1,2 y comparad los resultados con los obtenidos con un factor de interpolación 2.
Solución
Ahora el tamaño de la imagen interpolada es más pequeño y se aprecia menos la distorsión introducida por la interpolación. En el caso de la interpolación por vecino más próximo se aprecia ligeramente el pixelado, pero las diferencias son prácticamente indistinguibles en las imágenes interpoladas mediante interpolación bilineal y bicúbica.
Ejercicio 6
Queremos imprimir la imagen wood.pgm con una anchura de 10 cm (y la altura necesaria para no deformarla) y nos recomiendan una resolución de 200 píxeles/pulgada. Explicad cómo modificaríais las dimensiones de la imagen para obtener la impresión deseada. ¿Cuáles son las dimensiones finales en píxeles? ¿Qué método de interpolación escogéis?
Solución
La imagen wood.pgm tiene unas dimensiones, en píxeles, de 512 × 768. Con la resolución deseada, 200 píxeles/pulgada, el ancho es de 6,5 cm (5) . Como necesitamos que sea de 10 cm, interpolamos la imagen para tener más píxeles. Fijamos la anchura solicitada y la medida en píxeles resultante es de 787 × 1181. Respecto al método de interpolación, descartamos el del vecino más próximo porque pixela la imagen; entre el bilineal y el bicúbico, este último presenta una imagen ligeramente más nítida.
Ejercicio 7
Con la herramienta Zoom In de Photoshop, aplicad un zoom del 250% a la imagen clock.pgm. ¿Con cuál de las interpolaciones realizadas en los ejercicios anteriores relacionáis el resultado?
Solución
La imagen que resulta cuando hacemos el zoom es idéntica a la que obtenemos al interpolar mediante el método del vecino más próximo. Cuando hacemos un zoom sobre la imagen, lo que estamos haciendo es esta misma interpolación, únicamente a efectos de visualización; la imagen que estamos ampliando no se modifica.

3.Diezmado

La descripción de la interpolación nos facilita la de la segunda transformación geométrica que estudiaremos, el diezmado, ya que se trata de operaciones complementarias.
La interpolación aumenta el tamaño en píxeles de una imagen y el diezmado lo reduce, en ambos casos con el objetivo de que la imagen transformada represente lo mismo que la original.
Empezaremos con el ejemplo más sencillo de diezmado, el diezmado sin interpolar. El primer paso de la transformación, la definición de las nuevas posiciones de los píxeles, lo veremos gráficamente usando la misma imagen de la figura 1, reproducida en la figura 10a. El objetivo es transformar la imagen de 4 × 4 píxeles en una imagen de 2 × 2 píxeles (es decir, trabajamos con un factor de diezmado 2) y lo hacemos en dos pasos: el primero suprime una columna de píxeles de cada dos, los píxeles con contorno discontinuo en la figura 10b; y el segundo suprime una fila de cada dos (los píxeles con contorno discontinuo en la figura 10c). El resultado se ve en la figura 10d: la imagen transformada tiene dimensiones 2 × 2.
Figura 10. Diezmado en factor 2
Figura 10. Diezmado en factor 2
En cuanto al valor de intensidad de gris de los píxeles de la nueva imagen, en principio ya está definido porque todos los píxeles de la imagen transformada existían en la imagen original, es decir, no hace falta aplicar ninguna modificación adicional. Es importante remarcar que el diezmado implica necesariamente una pérdida de información respecto a la imagen original; si nos fijamos en la imagen del ejemplo, la original tenía píxeles de cuatro niveles de gris diferentes y la transformada solo tiene dos niveles. Los píxeles que eliminamos son irrecuperables; si queremos volver a ampliar la imagen que hemos diezmado, tenemos que interpolarla, con las consecuencias para la calidad que ya hemos discutido anteriormente.
La figura 11a muestra una imagen de 256 × 256 píxeles diezmada con un factor de diezmado 2 y utilizando la opción «vecino más próximo» de Photoshop, que equivale a el diezmado sin interpolar (figura 11b).
Figura 11. Diezmado sin interpolar
Figura 11. Diezmado sin interpolar
Como pasaba con la interpolación, las regiones más sensibles al diezmado son las que en la imagen original presentan fuertes contrastes de nivel de gris. En este caso, el efecto no deseado es un realce de los contornos, ya que al suprimirse algunos píxeles, los contornos que eran más suaves pasan a ser más abruptos. Si apreciamos esta distorsión podemos optar por aplicar posteriormente al diezmado una máscara de suavizado, o usar una interpolación bilinear o bicúbica, que, como ya hemos visto, suavizan también la imagen.
La figura 12 muestra el resultado de diezmar la imagen original de la figura 11 con interpolación por vecino próximo (figura 12a), interpolación bilineal (figura 12b) e interpolación bicúbica (figura 12c). En la hoja impresa es difícil apreciar la diferencia entre las tres, pero en la pantalla se ve una ligerísima mejora en los contornos en los casos b y c. La herramienta Image Apply de Photoshop nos permite restar dos imágenes y observar la diferencia que hay entre ellas; si la utilizamos con las imágenes de la figura 12 podremos estudiar con más precisión las diferencias que son más difíciles de ver a primera vista.
Figura 12. Diezmado: a. sin interpolar (vecino más próximo); b. con interpolación bilineal; c. con interpolación bicúbica
Figura 12. Diezmado: a. sin interpolar (vecino más próximo); b. con interpolación bilineal; c. con interpolación bicúbica
Dependiendo de las características de la imagen y del factor de diezmado se puede dar el caso de que la imagen diezmada no represente lo mismo que la original; se produce una distorsión grave, conocida como aliasing. Una forma de evitar esta distorsión es interpolar los niveles de gris en el diezmado.
Veamos un ejemplo de esta situación en la figura 13. Por razones de espacio, solo incluimos un fragmento de la imagen original (cuyas dimensiones en píxeles son 512 × 512) en la figura 13a. Si la diezmamos y no interpolamos los niveles de gris (es decir, usamos el método del vecino más próximo), los resultados son los que se muestran en la figura 13b; las filas y columnas de píxeles que hemos eliminado con el diezmado coincidían con las líneas negras de la imagen, de forma que han desaparecido en la imagen diezmada:
Figura 13. Distorsión debida al diezmado
Figura 13. Distorsión debida al diezmado
Si utilizamos una interpolación, ya sea bilineal o bicúbica, la información de la imagen no se pierde. Lo vemos en la figura 14, en la cual hemos utilizado una interpolación bilineal.
Figura 14. Distorsión corregida con una interpolación bilineal
Figura 14. Distorsión corregida con una interpolación bilineal

3.1.Ejercicios de diezmado

Ejercicio 1
Diezmad con un factor de diezmado 2 la imagen 97b.pgm, primero sin interpolar y después interpolando con interpolación bilineal y bicúbica. Comparad la calidad percibida en todos los casos. Una vez comparadas las tres imágenes por observación, comparadlas objetivamente mediante la resta entre la imagen sin interpolar y las interpoladas, y comentad si coinciden los criterios en el caso objetivo y el subjetivo.
Solución
A primera vista no se aprecian diferencias entre la imagen diezmada sin interpolar y las imágenes diezmadas con interpolación. En cambio, cuando obtenemos una medida objetiva como la resta entre la imagen sin interpolar y las interpoladas (con la herramienta Apply Image), vemos que hay diferencias en los contornos, muy poco marcadas.
Ejercicio 2
Diezmad la imagen peppers.pgm con un factor de diezmado 1,5. ¿Cuál es el tamaño en píxeles de la imagen transformada? A continuación, interpoladla con el factor necesario para que tenga las mismas dimensiones que la imagen original, y comparad esta con la transformada. Haced diversas pruebas con diferentes métodos de interpolación de los niveles de gris.
Solución
Si diezmamos con un factor 1,5, la imagen transformada tendrá unas dimensiones en píxeles de 341 × 341; para recuperar las dimensiones de la imagen original tenemos que interpolar también con un factor 1,5. Con cualquier método de interpolación que utilicemos, en la imagen doblemente transformada se aprecian diferencias respecto al original, que van desde el pixelado cuando en ambas transformaciones usamos la interpolación por el vecino más próximo, hasta un ligero desenfoque si usamos la interpolación bicúbica también en ambos casos.
Ejercicio 3
Hemos visto como en determinados casos el diezmado puede comportar que la imagen transformada no represente lo mismo que el original. En este ejercicio aplicaremos nuestros conocimientos sobre transformaciones lineales para prevenir esta distorsión.
Abrid la imagen ruler.512.pgm y aplicadle una máscara de suavizado. A continuación, diezmad la imagen con un factor 2, sin interpolar los niveles de gris (es decir, usando la opción del vecino más próximo). ¿Se ha distorsionado la imagen? Razonad el porqué.
Solución
Aplicamos por ejemplo una máscara con todos los coeficientes a 1, la máscara h1 del «Transformaciones espaciales lineales». Cuando diezmamos, vemos que la imagen representa la misma cuadrícula que el original. Lo que ha sucedido es que el filtrado ha suavizado los contornos, que ahora son más «anchos» y el diezmado no elimina toda la información; la que queda es suficiente para representar la imagen original.
Ejercicio 4
La imagen 128x128bn.tif está formada por píxeles blancos y negros alternados como en un tablero de ajedrez. La diezmaremos con un factor 2 mediante diferentes métodos de interpolación, para estudiar los resultados. En primer lugar, diezmadla por interpolación bilineal o bicúbica; ¿cuál es la imagen resultante y por qué? A continuación, diezmad sin interpolar (método del vecino más próximo) y comentad los resultados. Finalmente, rotad la imagen 90 grados (o haced Flip Canvas horizontal) y repetid el diezmado sin interpolar; ¿qué ha pasado?
Solución
Cuando diezmamos por interpolación bilineal o bicúbica obtenemos una imagen gris, con nivel 128 (utilizad el histograma para comprobarlo), es decir, el nivel promedio entre el blanco y el negro. Cuando diezmamos sin interpolar, la imagen diezmada es negra; de cada dos filas (y columnas) se elimina una, y en este caso se eliminan todas las blancas; nos encontramos ante un caso similar al de la figura 13. En el tercer caso, la imagen rotada comienza por un píxel blanco y se eliminan todos los negros, de manera que la imagen diezmada es blanca.

4.Otras transformaciones geométricas

En el apartado 2 describíamos las transformaciones geométricas como una familia de transformaciones que podíamos estudiar en dos pasos, e ilustrábamos el primer paso situando sobre la imagen original una trama imaginaria, cuyas intersecciones coincidían con la posición de los píxeles. Como veíamos en la figura 4, en el caso de la interpolación, la transformación consistía en añadir filas y columnas a las ya existentes, mientras que en el caso del diezmado (figura 10) consistía en eliminar filas y columnas.
La trama que nos sirve de referencia se puede transformar de otras maneras, por ejemplo, rotándola; como se puede ver en la figura 15, en la que rotamos la trama 45º en sentido horario y la posición de los nuevos píxeles no coincide con la que tenían en la imagen original. Esta transformación, y otras que veremos en este aparatado, presentan una complejidad más alta que la interpolación y el diezmado, ya que el cálculo de la nueva posición de los píxeles no es inmediato. Por este motivo nos limitaremos a presentarlas de forma descriptiva, aprovechando las herramientas de Photoshop que las implementan. Respecto al segundo paso en el estudio de las transformaciones geométricas, la interpolación del nivel de gris de los píxeles, los métodos que se usan son los mismos que hemos estudiado previamente, por lo que no los trataremos nuevamente en este apartado.
Figura 15. Rotación
Figura 15. Rotación

4.1.Rotación

La rotación fija un punto de origen entorno al cual la imagen gira una cierta cantidad de grados.
Veremos un ejemplo de rotación con la imagen leopard.pgm, que rotamos con la herramienta Edit/Transform/Rotate (6) ; en este caso (figura 16) rotamos 30º alrededor del centro de la imagen en sentido horario. En la figura se aprecia la barra de herramientas de la transformación en la que hemos introducido estos datos. La imagen rotada tiene el mismo aspecto que el original, excepto por el giro (salvando las inexactitudes introducidas por la interpolación de los niveles de gris), es decir, no hemos introducido cambios en la información. Podríamos usar esta transformación, por ejemplo, para poner derecha una fotografía que nos ha quedado un poco inclinada.
Figura 16. Rotación
Figura 16. Rotación

4.2.Sesgo

Si en lugar de aplicar la misma rotación a toda la imagen, aplicamos un ángulo diferente a la dimensión vertical y a la horizontal, lo que obtenemos es una imagen sesgada.
Lo vemos en la figura 17, en la cual hemos aplicado un ángulo de -30º a la dimensión vertical sin modificar la horizontal, y con el punto de rotación en el centro de la imagen. Con esta rotación, la imagen transformada se distorsiona; el motivo continúa siendo el mismo que en la imagen original pero sus proporciones han cambiado.
Figura 17. Sesgo
Figura 17. Sesgo

4.3.Perspectiva

La transformación de perspectiva deja fijo un lado de la imagen y hace más pequeño el lado opuesto, de forma que queda más «alejado». Esto proporciona un efecto de profundidad y cambia la perspectiva desde la cual observamos la imagen.
La figura 18 muestra una transformación de perspectiva aplicada a la fotografía del leopardo; hemos aplicado una modificación de 6º en el eje vertical. La imagen que antes «observábamos» de frente, ahora la «observamos» desde un lado; hemos modificado la perspectiva. Podemos usar esta transformación, por ejemplo, para corregir la distorsión que introduce la lente en los extremos de una imagen cuando hacemos una fotografía:
Figura 18. Perspectiva
Figura 18. Perspectiva
Todas estas transformaciones se pueden aplicar sucesivamente sobre una imagen ya transformada, y pueden usarse para mejorar la imagen, retocándola ligeramente, así como para crear efectos artísticos, por lo que las combinaciones y los resultados posibles son muy variados.

4.4.Ejercicios

Para que las imágenes no nos queden recortadas por las diversas transformaciones (7) que realizamos, podemos modificar las dimensiones del lienzo (herramienta Image/Canvas Size de Photoshop) y pasarlo a 512 × 512. Una vez modificada la imagen, puede reducirse nuevamente.
Ejercicio 1
En la imagen plane.pgm queremos modificar la posición de la avioneta, de manera que sus alas posteriores queden paralelas al borde inferior de la imagen. ¿Qué transformación podemos aplicar y con qué parámetros?
Solución
Podemos aplicar una rotación, con un ángulo de aproximadamente -27º, es decir, giramos la imagen en sentido antihorario.
Ejercicio 2
Repetid el ejercicio anterior, pero usando la transformación de sesgo. ¿Cómo tenemos que aplicarla para obtener los mismos resultados que hemos obtenido?
Solución
Si aplicamos la transformación de sesgo tenemos que rotar ambos ejes de la imagen por separado. Para que toda la imagen rote el mismo ángulo, fijamos el ángulo de rotación horizontal en 27º y el vertical en -27º.
Ejercicio 3
Queremos modificar la imagen barche.pgm para ver la popa del barco desde una posición más frontal. ¿Qué transformación podemos aplicar y con cuáles parámetros?
Solución
Aplicaremos una transformación de perspectiva, con un ángulo en la dimensión vertical de, por ejemplo, -7º, y así ya vemos la popa más de frente.

Resumen

Las dimensiones de una imagen digital se expresan en píxeles. Cuando queremos convertir una imagen digital en una imagen física (por ejemplo, imprimiéndola), expresamos las dimensiones de la imagen en unidades de longitud.
La resolución indica la cantidad de píxeles por unidad de longitud y se expresa habitualmente en píxeles por pulgada. Una imagen digital no tiene una resolución propia, sino que la resolución se fija en función de la calidad de la imagen que se requiera. Las dimensiones físicas y digitales de una imagen están relacionadas con la resolución: al dividir la medida digital entre la resolución, obtenemos la medida física.
Mientras que las transformaciones puntuales y espaciales modifican el nivel de gris de los píxeles sin modificar su posición, las transformaciones geométricas modifican las relaciones espaciales entre los píxeles de la imagen original y los de la transformada.
La interpolación es una transformación geométrica que aumenta el número de píxeles de la imagen al intercalar regularmente filas y columnas de píxeles nuevos entre los ya existentes. El nivel de gris de los nuevos píxeles se calcula a partir de los ya existentes. Este cálculo se puede hacer por diferentes métodos, más precisos cuanto más complejos. Los tres métodos más representativos son la interpolación por el vecino más próximo, la bilineal y la bicúbica.
El diezmado es una transformación geométrica que disminuye el número de píxeles de la imagen al eliminar regularmente filas y columnas de la imagen original y, en el caso general, no es necesario modificar los niveles de gris de la imagen tranformada. En los casos concretos se obtienen mejores resultados si se recalcula el nivel de los píxeles con los mismos métodos que se utilizan para la interpolación.
La interpolación aumenta el tamaño de la imagen pero no mejora su calidad: le añadimos nuevos píxeles, pero no información. El diezmado implica una pérdida de información de la imagen, ya que cuando eliminamos píxeles también eliminamos parte de la información de manera irrecuperable.
La interpolación tiende a difuminar los bordes de la imagen, mientras que el diezmado tiende a realzarlos. En ambos casos se pueden aplicar los métodos vistos en los módulos anteriores para intentar reducir estos efectos, pero tenemos que asumir una mayor pérdida de calidad cuanto más modificamos las medidas originales de la imagen.
Una de las aplicaciones de la interpolación y el diezmado es el zoom: cuando nos «acercamos» a la imagen para observar mejor un detalle estamos haciendo una interpolación, mientras que cuando nos"alejamos" para verla completa estamos haciendo un diezmado.
Otras transformaciones geométricas son la rotación, que gira la imagen un determinado ángulo; el sesgo, que inclina la imagen deformándola que rompe el paralelismo entre dos lados de la imagen y le proporciona un efecto de profundidad.