一种基于贝塞尔曲线使图形平滑的方法

文档序号:6366939阅读:791来源:国知局
专利名称:一种基于贝塞尔曲线使图形平滑的方法
技术领域
本发明涉及视频以及图像图形处理技术领域,特别涉及一种基于贝塞尔曲线使图形平滑的方法。
背景技术
贝塞尔曲线(B6zier curve),又称贝兹曲线或贝济埃曲线,一般的矢量图形软件通过它来精确画出曲线,贝兹曲线由线段与节点组成,节点是可拖动的支点,线段像可伸縮的皮筋。贝塞尔曲线是计算机图形图像造型的基本工具,是图形造型运用得最多的基本线条之一。它通过控制曲线上的四个点(起始点、终止点以及两个相互分离的中间点)来创造、编辑图形。如图I所示,起重要作用的是位于曲线中央的控制线。这条线是虚拟的,中间与贝塞尔曲线交叉,两端是控制端点。移动两端的端点时贝塞尔曲线改变曲线的曲率(弯曲的程度);移动中间点(也就是移动虚拟的控制线)时,贝塞尔曲线在起始点和終止点锁 定的情况下做均匀移动,贝塞尔曲线就是这样的一条曲线,它是依据四个位置任意的点坐标绘制出的一条光滑曲线。其中,以三次贝塞尔曲线最为常见,三次方bezier曲线如下定义=Pc^PpPpP3四个点在平面或在三维空间中定义了三次方贝塞尔曲线。曲线起始于P。走向P1,并从P2的方向来到P3。一般不会经MP1或P2 ;这两个点只是在那里提供方向资讯。P0和P1之间的间距,决定了曲线在转而趋进P3之前,走向P2方向的“长度有多长”。曲线的參数形式为B (t) = P0 (l_t) 3+3Pjt (l_t) 2+3P2t2 (l_t)+P3t3, t G
。在对视频及图形图像处理过程中,有些图形图像的棱角过于尖锐或者对图形图像的某些区域的线条的效果不满意,这时就需要对其进行平滑的处理,使之达到更为理想的效果。

发明内容
为了解决以上技术问题本发明提供了一种基于贝塞尔曲线使图形平滑的方法,具体包括接收图形;根据用户指令获取要处理的图形区域;将所述图形区域转换成空间中N条相连的折线;根据所述折线顺序计算生成所有的控制点;根据所述控制点和所述折线的连接点生成贝赛尔曲线;根据所述贝赛尔曲线对所述图形区域进行平滑处理。其中,所述将所述图形区域转换成空间中N条相连的折线,所述N的取值范围为大
于等于ニ;相邻的折线线段长度为Li,L(i+1),所述i的取值范围为0至N-1。其中,所述根据所述折线顺序计算生成所有的控制点具体包括
在所述相邻的折线上分别取点Pi和P(i + 1),所述Pi和P(i + 1)距离所述折线的连接点的长度分别为 Ki*Li,K(i+l)*L(i+l),所述 Ki = Li/(Li+L(i+l)),K(i+l) = L(i+1)/(Li+L(i+1));在线段(Pi,P(i+l))取点P’,所述(Pi,P(i+l))长度为L’,所述P’距离所述P i的长度为 L’ *(Li/(Li+L(i+l)));将所述(Pi,P(i + 1))平移至所述P’与所述折线的连接点重合处,所述Pi平移至Pi’,所述 p(i+l)平移至 p(i+l)’ ;生成所述控制点Pi’和P (i + 1)’。其中,所述根据所述控制点和所述折线的连接点生成贝塞尔曲线具体包括根据贝塞尔曲线的参数方程将得到的所述控制点和所述折线的连接点代入,生成贝塞尔曲线。 与现有技术相比,本发明实施例具有以下优点通过顺序计算空间中任意条相连的折线的所有的控制点,再根据所有的控制点和折线的连接点生成贝塞尔bezier曲线,实现了图形平滑的效果。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图I :是现有技术中贝塞尔曲线的示意图;图2 :是本发明实施例I中一种基于贝塞尔曲线使图形平滑的方法的流程图;图3 :是本发明实施例2中一种由空间中任意条相连的折线生成贝塞尔曲线的方法的示意图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明实施例I中提供了一种基于贝塞尔曲线使图形平滑的方法,如图2所示,包括以下步骤步骤S101,接收图形。步骤S102,根据用户指令获取要处理的图形区域。步骤S103,将所述图形区域转换成空间中N条相连的折线,其中,所述N的取值范围为大于等于二 ;相邻的折线线段长度为Li,L(i+l),所述i的取值范围为0至N-1。步骤S104,根据所述折线顺序计算生成所有的控制点,具体包括在所述相邻的折线上分别取点Pi和P (i+1),所述Pi和P (i+1)距离所述折线的连接点的长度分别为 Ki*Li,K(i+l)*L(i+l),所述 Ki = LiバLi+L(i+l)),K(i+l) = L(i+1)/(Li+L(i+1));在线段(Pi, P(i+1))取点P’,所述(Pi, P(i+1))长度为L’,所述P’距离所述Pi的长度为じ *(Li/(Li+L(i+l)));将所述(Pi,P(i+1))平移至所述P’与所述折线的连接点重合处,所述Pi平移至Pi’,所述 P(i+1)平移至 P(i+1)’ ;生成所述控制点Pi ’和P (i + 1) ’。步骤S105,根据所述控制点和所述折线的连接点生成贝赛尔曲线,具体包括根据贝塞尔曲线的參数方程将得到的所述控制点和所述折线的连接点代入,生成 贝塞尔曲线。步骤S106,根据所述贝赛尔曲线对所述图形区域进行平滑处理。本发明实施例的技术方案带来的有益效果如下通过顺序计算空间中任意条相连的折线的所有的控制点,再根据所有的控制点和折线的连接点生成贝塞尔bezier曲线,实现了图形平滑的效果。本发明实施例2中提供了ー种由空间中任意条相连的折线生成贝塞尔曲线的方法,如图3所示,具体的,N = 4时,即由空间中4条相连的折线生成贝塞尔曲线,LI,L2为相连两条折线的长度,点0为LI、L2的连接点,包括以下步骤步骤S201,在所述相邻的折线L1、L2上分別取点P1、P2,所述Pl和P2距离所述折线的连接点的长度分别为K1*L1,K2*L2,所述Kl = LI/(L1+L2), K2 = L2バL1+L2)。步骤S202,连接P1、P2生成线段(P1,P2),在线段(P1,P2)取点P’,所述(P1,P2)长度为L’,所述P’距离所述Pl的长度为L’ *(L1AL1+L2))。步骤S203,将所述(P1,P2)平移至所述P’与所述折线的连接点重合处,所述Pl平移至Pr,所述P2平移至P2’。步骤S204,确定所述控制点P1’和P2’。步骤S205,根据控制点P1’和P2’以及折线的连接点M和N确定贝塞尔曲线,具体的,通过贝塞尔曲线的參数形式B (t) = P0 (l_t) 3+3Pjt (l_t) 2+3P2t2 (l_t)+P3t3, t G
将控制点Pr和P2’以及折线的连接点M和N代入,其中贝塞尔曲线參数公式中的Pl和P2相当于控制点P1’和P2’,曲线參数公式中的PO和P3相当于折线的连接点M和
N0重复以上步骤S201至S205,顺序计算所有的控制点,再根据控制点和折线的连接点最终可以确定4条贝塞尔曲线。本发明实施例的技术方案带来的有益效果如下通过顺序计算空间中任意条相连的折线的所有的控制点,再根据所有的控制点和折线的连接点生成连续的贝塞尔bezier曲线。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是⑶-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此, 任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
权利要求
1.一种基于贝赛尔曲线使图形平滑的方法,其特征在于,包括 接收图形; 根据用户指令获取要处理的图形区域; 将所述图形区域转换成空间中N条相连的折线; 根据所述折线顺序计算生成所有的控制点; 根据所述控制点和所述折线的连接点生成贝赛尔曲线; 根据所述贝赛尔曲线对所述图形区域进行平滑处理。
2.如权利要求I所述的方法,其特征在于,所述将所述图形区域转换成空间中N条相连的折线,其中, 所述N的取值范围为大于等于二; 相邻的折线线段长度为Li,L(i+1),所述i的取值范围为O至N-1。
3.如权利要求I或2所述的方法,其特征在于,所述根据所述折线顺序计算生成所有的控制点具体包括 在所述相邻的折线上分别取点Pi和P(i+1),所述Pi和P(i+1)距离所述折线的连接点的长度分别为 Ki*Li,K(i+l)*L(i+l),所述 Ki = Li/(Li+L(i+l)),K(i+1) = L(i+1)/(Li+L(i+1)); 在线段(Pi,P(i+l))取点P’,所述(Pi,P(i+l))长度为L’,所述P’距离所述P i的长度为 L’ *(Li/(Li+L(i+l))); 将所述(Pi,P(i+l))平移至所述P’与所述折线的连接点重合处,所述Pi平移至Pi’,所述P(i+1)平移至P(i+1)’ ; 生成所述控制点Pi ’和P (i+1) ’。
4.如权利要求I所述的方法,其特征在于,所述根据所述控制点和所述折线的连接点生成贝塞尔曲线具体包括 根据贝塞尔曲线的参数方程将得到的所述控制点和所述折线的连接点代入,生成贝塞尔曲线。
全文摘要
本发明公开了一种基于贝塞尔曲线使图形平滑的方法,具体包括接收图形;根据用户指令获取要处理的图形区域;将所述图形区域转换成空间中N条相连的折线;根据所述折线顺序计算生成所有的控制点;根据所述控制点和所述折线的连接点生成贝赛尔曲线;根据所述贝赛尔曲线对所述图形区域进行平滑处理。本发明通过顺序计算空间中任意条相连的折线的所有的控制点,再根据所有的控制点和折线的连接点生成贝塞尔bezier曲线,实现了图形平滑的效果。
文档编号G06T11/20GK102768764SQ20121008253
公开日2012年11月7日 申请日期2012年3月26日 优先权日2012年3月26日
发明者张婷 申请人:新奥特(北京)视频技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1