Interpolación bicúbica

La superficie interpolada (es decir, la forma del núcleo, no la imagen) es más suave que las superficies correspondientes obtenidas por interpolación bilineal o por interpolación por el vecino más cercano.

La interpolación bicúbica se puede lograr utilizando el algoritmo de interpolación polinómica de Lagrange, spline cúbico o convolución cúbica.

En procesamiento digital de imágenes, la interpolación bicúbica a menudo se elige en lugar de la interpolación bilineal o la del vecino más cercano en procesamiento de imágenes, cuando la velocidad del proceso no es un problema.

A diferencia de la interpolación bilineal, que solo tiene en cuenta 4 píxeles (2×2), la interpolación bicúbica considera 16 píxeles (4×4).

con los valores de la función se obtienen cuatro ecuaciones: Asimismo, se generan ocho ecuaciones para las derivadas en las direcciones

: Y otras cuatro ecuaciones para la derivada parcial en

: Las expresiones anteriores han utilizado las siguientes identidades: Este procedimiento genera una superficie

La interpolación bicúbica en un retículo regular de tamaño arbitrario se puede lograr uniendo dichas superficies bicúbicas, asegurando que las derivadas coincidan en los límites.

en un vector y dejando que El sistema de ecuaciones anterior se puede reformular en una matriz para la ecuación lineal

Al invertir la matriz se obtiene la ecuación lineal más manejable

Puede haber otra forma matricial concisa para 16 coeficientes: o dónde A menudo, las aplicaciones requieren interpolación bicúbica utilizando datos en una cuadrícula rectilínea, en lugar de la unidad cuadrada.

En este caso, el enfoque más práctico para calcular los coeficientes

A continuación, las variables de interpolación normalizadas se calculan como donde

Entonces, la superficie de interpolación se convierte en Si se desconocen las derivadas, normalmente se aproximan a partir de los valores de la función en puntos vecinos a las esquinas del cuadrado unitario, utilizando por ejemplo diferencias finitas.

, usando ese método, se calcula la pendiente entre los dos puntos "circundantes" en el eje apropiado.

, se debe tomar la derivada en ambos ejes, uno cada vez.

a partir de ellos, dado que ambos métodos dan resultados equivalentes.

En los bordes del conjunto de datos, cuando faltan algunos de los puntos circundantes, los puntos faltantes se pueden aproximar mediante varios métodos.

Un método simple y común es asumir que la pendiente desde el punto existente hasta el punto objetivo continúa sin cambios adicionales y utilizar esto para calcular un valor hipotético para el punto faltante.

La interpolación mediante spline bicúbico requiere la solución del sistema lineal descrito anteriormente para cada celda de la cuadrícula.

Se puede obtener un interpolador con propiedades similares aplicando una convolución con el siguiente núcleo en ambas dimensiones: donde

para todos los números enteros distintos de cero

Este enfoque fue propuesto por Keys, quien demostró que

, se puede expresar la ecuación de una manera más compacta: para

Téngase en cuenta que para la interpolación de convolución cúbica unidimensional se requieren 4 puntos de muestra.

Estos puntos están indexados de −1 a 2 en este texto.

: El algoritmo bicúbico se utiliza con frecuencia para escalar imágenes y vídeos para su visualización (consúltese remuestreo de mapas de bits).

Conserva los detalles finos mejor que el algoritmo de interpolación bilineal común.

Sin embargo, debido a los lóbulos negativos del núcleo, causa sobrepaso (halos).

Esta circunstancia puede causar recorte y es un artefacto (véase también artefactos de anillo), pero aumenta la acutancia (nitidez aparente) y puede ser deseable.

Comparación de la interpolación bicúbica con algunas interpolaciones unidimensionales y bidimensionales. Los colores Negro y Rojo / Amarillo / Verde / Azul corresponden al punto interpolado y a las muestras vecinas, respectivamente.
Sus alturas sobre la referencia horizontal corresponden a sus valores
Interpolación bicúbica en el cuadrado que consta de 25 cuadrados unitarios unidos. Interpolación bicúbica según la implementación del programa Matplotlib . El color indica el valor de la función. Los puntos negros son las ubicaciones de los datos prescritos que se interpolan. Obsérvese cómo las muestras de color no son radialmente simétricas
Interpolación bilineal en el mismo conjunto de datos que el anterior. Las derivadas de la superficie no son continuas sobre los límites del cuadrado
Interpolación por el vecino más cercano en el mismo conjunto de datos que en el ejemplo anterior
La mitad inferior de esta figura es una ampliación de la mitad superior, que muestra cómo se crea la aparente nitidez de la línea de la izquierda. La interpolación bicúbica provoca un sobrepaso del color, lo que aumenta la acutancia