Busco informacion de como aproximar un contorno de pixeles mediante una BSpline. Tengo un pdf titulado "Aproximacion de contornos mediante b-splines cubicos", pero no se exactamente como plantear el sistema de ecuaciones. Alguien me echa una mano?
Lo que quieres es teniendo una fijura en un mapa de bits encontrar su silueta representada por una curva?
Busca "Metodo de los cuadrados minimos".
En ingles no se como se llama, pero es el metodo optimo y es un ene-cubo si mal no lo recuerdo.
Lo que hace el metodo es que metes todos los puntos del contorno en una matriz y haciendo un jueguito te da los coeficientes de una curva parametrizada de grado ene donde los cuadrados de las distancias entre cada punto y la curva son los minimos, donde puedes reducir quitando puntos o bajando el grado.
Por bezier o simplemente por curvas de interpolación cubica es facil, la clave es parametrizar.
Tomas 4 puntos y dices x = F(t) y y = G(t), armas el sistema de ecuaciones haciendo cada ecuación un polinomio de grado 2 que pasa por 3 puntos, encuentras los coeficientes para los 3 primeros y luego para los 3 ultimos y asignas a cada segmento ( conexion entre dos puntos ) la interpolación lineal entre estas dos curvas. Descartas puntos cuando el coeficiente cuadratico es < a tu Epsilon.
Saludos.
He encontrado una pagina que trata sobre este tema y demás hay mucho codigo fuente (uoh) !!!
http://autotrace.sourceforge.net/index.htmlAunque no lo he destripado, espero tener suerte.
Espero que sirva de ayuda para quien le interese este tema.