Descargar

Interpolación y transformaciones básicas de imágenes (página 2)

Enviado por Pablo Turmero


Partes: 1, 2
edu.red Sea p= (px, py), con i= ?px?, d= i+1, s= ?py?, r= s+1 con a= px-i, b= py-s s r i d X Y A(x,y) Cálculo de la interpolación bilineal: A’(px, s) = (1-a)A(i, s) + aA(d, s) A’(px, r) = (1-a)A(i, r) + aA(d, r) A’(px, py) = (1-b)A’(px, s) + bA’(px, r) ? A’(px, py) = (1-a)(1-b)A(i, s) + a(1-b)A(d, s) + (1-a)bA(i, r) + abA(d, r) a 1-a b 1-b (px,py) Media ponderada de los 4 píxeles circundantes Esto recuerda a una convolución, ¿no?

edu.red Ejemplo. Zoom de 10x con interpolación bilineal.R(x,y):= A’(x/10, y/10) Indicación: un zoom entero de K con interpolación bilineal es parecido (= a veces) a un zoom de K con vecino más próximo, seguido de un filtro de media de KxK. Imagen original 25×26 Vecino más próximo Interpolación bilineal

edu.red La interpolación bilineal mejora la de vecino más próximo, pero produce un efecto de “zonas rectangulares”. Interpolación bicúbica: basada en dos interpolaciones cúbicas. En una dimensión, la interpolación cúbica consiste en trazar una cúbica entre los 4 puntos más próximos (2 a la izquierda y 2 a la derecha). A’(x) = c1x3 + c2x2 + c3x + c4 A(x) i-1 i i+1 X p i+2 Valores interpolados

edu.red Cálculo de la interpolación cúbica. Sea p el punto que queremos interpolar. i= ?p? Obtener las 4 ecuaciones:A’(i-1)=A(i-1); A’(i)=A(i); A’(i+1)=A(i+1); A’(i+2)=A(i+2) 4 ecuaciones, 4 incógnitas ? despejar y obtener c1, c2, c3, c4 Aplicar las constantes, obteniendo A’(p) Interpolación bicúbica. Igual que la bilineal, se basa en dos interpolaciones cúbicas: 1. Interpolación cúbica horizontal, en las filas existentes (usando 4 puntos). 2. Interpolación cúbica vertical en todo el espacio usando 4 puntos (usando la anterior interpolación). ? En la interpolación bicúbica de un punto (px, py) intervienen los 16 puntos circundantes.

edu.red Cálculo de la interpolación bicúbica. j i X Y a b (px,py) i-1 i+1 i+2 j-1 j+1 j+2 Igual que con la bilineal, el valor del punto se puede calcular como una media ponderada de los 4×4 píxeles circundantes. A’(px,py) = Sn=-1..2Sm=-1..2 A(i+n,j+m)·P(n-a)·P(b-m) Siendo: P(k) = 1/6(C(k+2)3-4C(k+1)3+6C(k)3-4C(k-1)3) C(k) = max(0, k)

edu.red Ejemplo. Zoom de 10x con interpolación bicúbica. Imagen original 25×26 Aumento de 10x con interpolación bilineal Aumento de 10x con interpolación bicúbica

edu.red Comparación. Detalle del zoom de 10x, con vecino más próximo, interpolación bilineal y bicúbica. Se ha aplicado un perfilado en las 3, para destacar el efecto del zoom. Interpolación bilineal Interpolación bicúbica Vecino más próximo En todos los casos se nota la falta de detalle (obviamente), pero en la bilineal son más evidentes los artificios horizontales y verticales que en la bicúbica. +

edu.red La interpolación también es importante en las rotaciones no exactas (que veremos más adelante) y, en general, en cualquier transformación geométrica. Interpolación bilineal Interpolación bicúbica Vecino más próximo La interpolación bicúbica siempre suele producir el mejor resultado, aunque es algo más costosa. ¿Merece la pena el aumento de tiempo respecto a la bilineal? Este artificio de escalonamiento abrupto es conocido como aliasing

edu.red En las operaciones de reducción también se aplican interpolaciones, pero… Reducción de k: R(x, y):= A(k·x, k·y), con R: mX/k x mY/k Ejemplo. Reducción de 5x. Imagen original 500×386 Reducción de 5x con vecino más próximo Observar estas estructuras extrañas. Esto tb. es aliasing

edu.red El problema no se soluciona con interpolación bilineal o bicúbica. Imagen original 500×386 Reducción de 5x con interpolación bilineal Reducción de 5x con interpolac. bicúbica El problema se debe a que los detalles son más pequeños que la resolución de salida. Pero, además, los métodos de interpolación no mejoran la situación: cada píxel de salida es un muestreo ordenado de uno de entrada.

edu.red Ejemplo. Reducción de 3x. R(x,y) = A(3x, 3y) Solución: cada píxel de salida debería ser la media de los 3×3 píxeles de entrada correspondientes. Interpolación por supermuestreo (super sampling)Idea: considerar el píxel como un “volumen” con cierto área. Aplicar varias veces la transformación y tomar la media. R 0 1 0 1 0 1 0 1 2 3 4 5 2 3 A Todos esos píxeles no influyen en el resultado

edu.red Supermuestreo uniforme, en rejilla cuadrada. (Gp:) 1 (Gp:) 1.5 (Gp:) 0.5 (Gp:) X (Gp:) Y (Gp:) R(x,y) (Gp:) 0.75 (Gp:) 1.25 (Gp:) 1 (Gp:) 1.5 (Gp:) 0.5 (Gp:) 0.75 (Gp:) 1.25

A(f1(1,1), f2(1,1)) A(f1(1.25,0.75), f2(1.25,0.75)) A(f1(1,0.5), f2(1,0.5)) A(f1(1.25,1.5), f2(1.25,1.5)) R(x,y):= media {A(f1(x-0.5,y-0.5), f2(x-0.5,y-0.5)), … A(f1(x-0.5,y+0.5), f2(x-0.5,y+0.5)), …, A(f1(x,y-0.5), f2(x,y-0.5)), …, A(f1(x,y+0.5), f2(x,y+0.5)), …, A(f1(x+0.5,y-0.5), f2(x+0.5,y-0.5)), …, A(f1(x+0.5,y+0.5), f2(x+0.5,y+0.5))}

edu.red Ejemplo. Reducción de 5x, con supermuestreo. Imagen original 500×386 Reducción de 5x con interpolación bilineal Reducción de 5x con supermuestreo Resultado: el supermuestreo logra un resultado de mucha más calidad. Evita el problema del aliasing. Sin embargo, el supermuestreo es mucho más costoso, requiere más cálculos. Cuanto mayor reducción, mayor es el efecto del aliasing.

edu.red Una alternativa al supermuestreo es aplicar primero un filtro de suavizado (por ejemplo, de media) y después un simple vecino más próximo. Imagen suavizada con media de 5×5 Reducción de 5x con vecino más próximo, de la suavizada Reducción de 5x con supermuestreo, de la original Pero esto sólo es aplicable en las transformaciones que impliquen una reducción de resolución.

edu.red Conclusiones Transformación geométrica: cada píxel de salida depende de uno de entrada cuya posición es calculada de acuerdo a un par de funciones. Como las posiciones pueden ser no enteras, es necesario aplicar interpolaciones: vec. más próximo, bilineal, bicúbica. En zoom, funciona mejor la bicúbica. En reducción, el supermuestreo. Pero son más costosas que las otras. Las interpolaciones bilineal y bicúbica (y otras más avanzadas) dan la sensación de mejorar la resolución de la imagen, pero cuidado… Cualquier detalle aparente de resolución inferior a un píxel es una mera alucinación.

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente