Estoy tratando de implementar un algoritmo de interpolación bicúbica. A fin de calcular los valores interpolados, necesito calcular dieciséis coeficientes utilizados en el proceso de cálculo - y que es donde estoy perplejo.
Hasta ahora he tratado de usar los métodos de cálculo para univariante funciones como explica Paul Bourke, en su artículo sobre los métodos de interpolación, el cálculo de los coeficientes para cada coordenada vertical de forma individual, utilizando estos datos para determinar los valores de la función en el seleccionado de la coordenada Y, el uso de estos valores para calcular los coeficientes de la rebanada de la función y calcular el valor de la función de la coordenada X. Esta técnica funciona, pero no da los mismos resultados como se esperaba.
Utilizando el primer coeficiente método de cálculo descrito por Bourke, la imagen es más general, sino que incluye los artefactos visibles:
El uso de Catmull-Rom splines (como se describe por Bourke), la imagen es más suave, pero difiere en mucho más desde el ejemplo, estoy tratando de volver a crear):
"Una Revisión de Algunos de los Píxel de la Imagen Algoritmos de Interpolación" de Don Lancaster, y en el artículo de la Wikipedia en la interpolación bicúbica muestran decididamente resultados diferentes con los mismos valores de datos.
Ambos describir lo que (supongo) debe ser la forma correcta de calcular los coeficientes de la fórmula en sí es bastante claro, pero se basa en la determinación de varios derivadas parciales y de los productos cruzados.
Ha pasado varios años desde que tuve el cálculo y mientras yo entender lo que es una derivada parcial es, ya no recuerdo cómo en realidad el cálculo de los valores de la función.
Estoy totalmente desorientado en cuanto a los productos cruzados - que el sujeto puede no haber sido cubierto durante el cálculo y el álgebra lineal cursos que tomó.
Agradecería consejos sobre cómo debo proceder para determinar correctamente los valores.