Bezier曲线和BSpline曲线拟合问题

.

Bzeier曲线和BSpline曲线的插值拟合问题

目录

一、问题重述 ................................................................................... 2 二、Bezier曲线的插值和拟合 ......................................................... 2 2.1 Bezier曲线的定义 .............................................................. 2 2.2 Bezier曲线的性质 .............................................................. 3 2.3 三次Bezier曲线的插值 ..................................................... 3 2.3.1 工程应用中常用的三次Bezier插值的算法 ............. 3 2.3.2 改进的三次Bezier插值的算法 ................................. 4 2.3.3 两种Bezier插值的算法比较....................................... 5 2.4 Bezier曲线的拟合 .............................................................. 5 三、BSpline曲线的插值和拟合 ....................................................... 5 3.1 BSpline曲线的定义 ............................................................ 5 3.2 B样条性质 ......................................................................... 6 3.3 均匀B样条 .......................................................................... 6 3.4 三次B样条插值算法 ........................................................... 7 3.4 结合实际情况的三次样条插值算法改进 ............................ 8 3.5 两种BSpline插值的比较 ..................................................... 8 四、Bezier曲线与BSpline曲线的区别和联系 ................................ 9 五、上述算法在实际血管提取中的应用 ......................................... 9

..

一、问题重述

在图像中任意点两个点,软件能自动提取出以这两点为端点的一段血管,要求提取到的血管必须经过客户所点的两点作为提取血管的两个端点。

在OnGetEdge()的函数里,首先通过自动增长获取血管两条边缘的采样点数据,接下来的问题就是要拟合这些采样点,生成两条比较光滑的血管边缘曲线。得到的拟合(插值)曲线有以下4点要求:

1、精确插入客户所点的起始点终点,作为曲线的两个端点; 2、拟合的曲线具有较好的光滑性

3、具有较高的拟合精度和较快的拟合速度 4、要求拟合曲线点八连通 上述的实际问题转化为有序离散点的插值拟合问题。所谓插值拟合,就是通过诸如采样、实验等方法获得若干离散的数据,根据这些数据,得到一个连续的函数(也就是曲线)或者更加密集的离散方程与已知数据相吻合。这个过程叫做拟合。插值是曲线必须通过已知点的拟合。常用的插值方法有拉格朗日插值、牛顿插值、埃尔米特插值、样条函数插值等。 其中,样条插值可以使用低阶多项式样条实现较小的插值误差,这样就避免了使用高阶多项式所出现的龙格现象,所以样条插值得到了流行。三次B样条插值不仅运行速度较快,而且因为其分段连续带来的特有的卓越的性能,有效提高了血管边缘的平滑程度,锯齿状的现象大大减少。本文接下来将主要介绍Bezier曲线和B样条的插值拟合。

二、Bezier曲线的插值和拟合

2.1 Bezier曲线的定义

【定义1】n次Bezier曲线是由n+1个控制点和以Bernstein多项式为基底共同生成

n的参数曲线,其数学表达式为:B(t)??db(t),t?[0,1],其中,d(i?0,...,n)为

niiii?0?n?控制点,b(t)???(1?t)n?iti,i?0,...,n为Bernstein基。

?i?niFig.1是一条三次的Bezier曲线,有四个控制点。工程应用上常使用二次或三次Bezier曲线做采样点的插值拟合以及制图设计。

Fig.1 三次Bezier曲线

2.2 Bezier曲线的性质

1、插值于两个端点,即Berize曲线开始于d0并结束于dn。

2、Bezier曲线的起始点(结束点)相切于控制多边形(控制点以此首位连接所形

成的封闭的多边形)的第一节(最后一节),即B'(0)//d0d1,B'(1)//dn?1dn。

3、Bezier曲线是直线的充分必要条件是控制点共线。

2.3 三次Bezier曲线的插值

插值要求得到的曲线精确的通过采样点,四个控制点决定一条Bezier曲线,插值M个点(M>4)设计到曲线拼接连续性的问题,要求达到切线连续。

2.3.1 工程应用中常用的三次Bezier插值的算法

三次Bezier曲线的数学表达是为:

??1?33332?B(t)??dibi(t)???ttt1????3i?0??13?31??d0??d??630???1?,t?[0,1]300??d2????000??d3?(1)

Fig.2 三次Bezier曲线的结构

【算法一】

Step 1:已知采样点P0,P1,P2,...,Pn,两端各自增加一个虚拟控制点P?1,Pn?1,分别

求出P?1P0,P0P1,...,PnPn?1的中点M0,M1,...,Mn?1。

Step 2:分别求出M0M1,M1M2,...,MnMn?1的中点D0,D1,...,Dn。

''Step 3:将Di沿着DiPi,对应的Mi,Mi?1移到Mi,Mi?1。 i的方向移到P'Step 4:保持Pi点不变收缩线段Mi'Mi'?1到Mi''Mi''?1,且Mi'M'i?1?0.6M'iMi?1。记

1''2Mi''为Pi,Mi?1为Pi。

21Step 5:分别以PP,...,n?1为4个控制点按照(1)式画出一条三iiPi?1Pi?1,i?0,1

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4