Я пытаюсь сделать сплайн для вычисления производной контур части изображения. Загвоздка в том, что я, похоже, не знаю, как заставить сплайн проходить через определенную точку. Я использую библиотеку scipy.interpolate с методом UnivariateSpline.
Как убедиться, что сплайн проходит через точки
comment
Пожалуйста, поделитесь своим кодом, а также
- person therealprashant   schedule 13.07.2015
comment
У вас есть все, что вам нужно знать, включая пошаговые алгоритмы в Википедии en.m.wikipedia.org /wiki/Spline_interpolation
- person Ander Biguri   schedule 13.07.2015
comment
Если вы не используете сглаживание, сплайн должен проходить через каждую точку, использованную для его построения.
- person Jon Custer   schedule 13.07.2015
comment
Ах, действительно, хорошо. Я посмотрел это видео youtube.com/watch?v=OkncKzflw8I и оказалось, что кривая проходила не через все исходные точки, а только через первую и последнюю. Спасибо за помощь.
- person Jake Fund   schedule 13.07.2015
Ответы (2)
Для UnivariateSpline
используйте s=0
для принудительной интерполяции: UnivariateSpline(x, y, s=0)
. Или используйте InterpolatedUnivariateSpline
, что точно эквивалентно.
person
ev-br
schedule
13.07.2015
Я предполагаю, что ваш «контур» может быть произвольной кривой, не обязательно графиком функции. Тогда вам нужен splprep которые интерполируют параметрическую кривую B-сплайна, т.е. (x,y) = spline(t). UnivariateSpline предназначен только для функциональных сплайнов, т.е. y = spline(x).
person
Jan Brezina
schedule
16.09.2017