CN111145204A - 一种边数可设定的对轮廓曲线的多边形简化方法 - Google Patents
一种边数可设定的对轮廓曲线的多边形简化方法 Download PDFInfo
- Publication number
- CN111145204A CN111145204A CN201911402540.1A CN201911402540A CN111145204A CN 111145204 A CN111145204 A CN 111145204A CN 201911402540 A CN201911402540 A CN 201911402540A CN 111145204 A CN111145204 A CN 111145204A
- Authority
- CN
- China
- Prior art keywords
- curve
- point
- points
- polygon
- max
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/181—Segmentation; Edge detection involving edge growing; involving edge linking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
Abstract
本发明提供一种边数可设定的对轮廓曲线的多边形简化方法,涉及数字图像处理技术领域。本发明提供的边数可设定的对轮廓曲线的多边形简化方法,简称ApproxPloyYH方法,用于对数字图像里的轮廓曲线进行模式识别与匹配、几何校正、数据压缩、矢量化表示等,进一步可应用于对数字图像中轮廓曲线的周长、面积等方面的测量与计算。本发明可控性高,可任意指定简化后多边形的边数,使用简单,无需预先设定简化后的最大距离误差;适用性好,适用于任何不自交叉的轮廓曲线的多边形简化表示。
Description
技术领域
本发明涉及数字图像处理技术领域,尤其涉及一种边数可设定的对轮廓曲线的多边形简化方法。
背景技术
目前,数字摄像机或其它数字设备采集到的图像大多为光栅图,当需要对图像上的物体进行识别、测量等操作时,首先需要对物体的边界进行识别和存储,通过数字图像处理技术,将物体边界识别为轮廓曲线。物体的形状各不相同,加之镜头畸变、观察角度、识别误差等因素,得到的轮廓线也各不相同,通常是由非规则的线段、曲线构成,即使是规则外形的物体其轮廓也是如此,可统一视作轮廓曲线。要对这些轮廓曲线进行记录,需要沿轮廓曲线逐个像素点进行记录,不但耗费巨大的存储空间,也难以进一步对其进行模式识别、形状匹配、形态描述、长度、周长及面积测量计算等操作。因此,在实际过程中经常需要对轮廓曲线进行多边形简化,即去除轮廓曲线上大量的点,只需找到少量的“关键点”,并依次两两直连而得到一个封闭多边形(对于封闭的轮廓曲线)或一条折线(对于非封闭轮廓曲线)即可,这里统称为多边形简化。简化得到的多边形与原轮廓曲线在形状、尺寸上虽有一定误差,但基本相近,具体误差取决于具体的简化方法、参数设定及评价方法。
目前广泛使用的对轮廓曲线的多边形简化方法是1973年提出的Douglas-Peucker方法,目前广泛使用的计算机视觉函数库OpenCV所支持的approxPolyDP()函数采用的就是Douglas-Peucker方法。然而,Douglas-Peucker方法只能设定轮廓曲线与简化后的多边形的最远距离误差,即轮廓曲线上的点到简化后多边形上对应边的最远距离,设为epislon,但无法预知在设定距离误差epislon下所生成的简化多边形的边数X;此外由于轮廓曲线的形状、尺寸方面千差万别,在应用Douglas-Peucker方法时,想要得到指定边数的多边形,对最远距离误差epislon的预先设定也是一个难题,需要使用者凭借大量经验或反复试验才能确定。相比较而言,使用本发明所提出的ApproxPloyYH方法,使用者可直接设定对轮廓曲线简化后所得到多边形的最终边数,用指定边数的多边形对轮廓曲线进行简化表示。
发明内容
本发明针对上述现有技术的不足,提供一种边数可设定的对轮廓曲线的多边形简化方法,简称ApproxPloyYH方法,用于数字图像里的轮廓曲线进行模式识别与匹配、几何校正、数据压缩、矢量化表示等,进一步可应用于对数字图像中轮廓曲线的周长、面积等方面的测量与计算。
本发明所采取的技术方案是:一种边数可设定的对轮廓曲线的多边形简化方法,包括以下步骤:
步骤1:多边形简化参数初始化设定:对于给定的待简化轮廓曲线,记为C,设定简化后多边形的边数X,其中X为不小于2的整数;若C为封闭轮廓曲线,则X表示简化后的封闭多边形的边数,即顶点数;若C为非封闭轮廓曲线,简化后的多边形实际是非封闭的折线,X则代表折线的边数,比顶点数少1,此时非封闭的折线顶点包括该折线的折点和端点;初始化曲线片段队列Q为空,即Q={};
前述边数可设定的对轮廓曲线的多边形简化方法简称ApproxPloyYH方法;前述轮廓曲线用C来表示,将其视作由一个或多个曲线片段首尾衔接连接而成,即用队列Q={S1,S2,S3,…,Sn}的形式来表示,即由顺序排列的n个曲线片段S1、S2、…、Sn连接而成;轮廓曲线是连续的,即相邻的曲线片段是首尾衔接的,即Si的终点坐标pt_end(Si)与Si+1的起点坐标pt_start(Si+1)重合;轮廓曲线可以是封闭的,即Sn的终点坐标pt_end(Sn)与S1的起点坐标pt_start(S1)重合;轮廓曲线也可以是不封闭的,即pt_end(Sn)与pt_start(S1)不重合,这时该轮廓曲线实质上是一条平面或三维空间内的非封闭曲线;轮廓曲线不可以是自交叉的,其所有的曲线片段两两之间都不存在交叉点;
步骤2:对待简化轮廓曲线进行初始点查找:若C为封闭轮廓曲线,则查找C上距离最远的两个点,作为初始两个点;若C为非封闭轮廓曲线,则以C的两个端点作为初始两个点;初始两个点记为ptA、ptB;
步骤3:对待简化轮廓曲线进行轮廓曲线初始分割:以ptA、ptB为分界点,对C进行分割;若C为封闭轮廓曲线,则C被分割成2个曲线片段,记为S1、S2,此时S1和S2首尾相接且形成封闭曲线,即S2起点pt_start(S2)与S1终点pt_end(S1)重合并且S2终点pt_end(S2)与S1起点pt_start(S1)重合,将S1和S2依次放入曲线片段队列Q,即Q={S1,S2};若C为非封闭轮廓曲线,则C整体作为1个曲线片段,记为S1,放入曲线片段队列Q,即Q={S1};
前述曲线片段为由多个连续点组成的一个任意形状的连续的线条;当曲线片段所有点都在同一平面内时该线条为二维,当曲线片段所有点都在同一三维空间内时该线条为三维,但不共平面;该线条只有一个起点、一个终点,起点和终点不重合,也不存在分叉情况;该线条既不封闭,也不自交叉,即任意两个点的位置都不重合;该线条上的所有点的位置测量后用二维或三维坐标描述;设曲线片段用S=(pt_start(S),pt_end(S),dis_max(S),pt_max(S))的四元素的形式来表示,其中S代表曲线片段,pt_start(S)表示S的起点坐标,pt_end(S)表示S的终点坐标,dis_max(S)和pt_max(S)分别表示S上的最大点弦距及其在S上对应点的坐标,即对于线条S上所有的点而言,若某点距离S的弦线最远,即该点到过点pt_start(S)和pt_end(S)的直线的距离最远,则取该点记为pt_max(S),对应的点弦距记为dis_max(S);
步骤4:对曲线片段四元素信息进行计算:对于新插入队列Q中的每一个曲线片段Si,计算其对应的dis_max(Si)及pt_max(Si),形成并记录其完整的四元素信息,即Si=(pt_start(Si),pt_end(Si),dis_max(Si),pt_max(Si)),其中Si代表曲线片段,pt_start(Si)表示Si的起点坐标,pt_end(Si)表示Si的终点坐标,dis_max(Si)和pt_max(Si)分别表示Si上的最大点弦距及其在Si上对应点的坐标;
步骤5:对结束条件进行判断及输出简化后结果:记当前曲线片段队列Q的长度为n,即Q={S1,S2,S3,…,Sn};若n等于X,则依次输出曲线片段S1、S2、S3、…、Sn的起点以及Sn的终点,作为简化多边形P={pt1,pt2,pt3,…,ptX,ptM}的X+1个顶点,其中pt1=pt_start(S1),pt2=pt_start(S2),pt3=pt_start(S3),…,ptX=pt_start(Sn),ptM=pt_end(Sn);若C为封闭轮廓曲线,则此时Sn终点与S1起点相同,即ptM与pt1重合,若C为非封闭轮廓曲线,则此二点不重合;至此,完成了对轮廓曲线C的简化描述过程,即用P中的X+1个顶点连成的X条边的多边形完成了对给定轮廓曲线C的简化描述,过程结束;若n小于X则跳转至步骤6;
其中对于给定的轮廓曲线C,将其简化为多边形P={pt1,pt2,pt3,…,ptX,ptM}的形式,实际上M=X+1;其中,P代表简化后的多边形,是平面的或三维的,由M个顺序排列的点pt1、pt2、…、ptX、ptM顺序连接而成;若C为封闭的,则P为封闭的,即pt1与ptM位置重合;若C为非封闭的,则P为非封闭的,即pt1与ptM位置不重合;前述多边形简化,是指P的边数小于轮廓曲线C上的点数,即用少量边的多边形来表示C;本发明边数可设定的对轮廓曲线的多边形简化,是指简化得到的多边形P的边数可任意指定,设为X,X为不小于2的整数,由使用者根据其需求指定;
步骤6:对最大点弦距曲线片段进行查找与分割:从队列Q中查找dis_max(Si)最大的一个曲线片段,记为Sk,即当前Q中所有的曲线片段中第k个曲线片段的最大点弦距最大,即dis_max(Sk)最大;以pt_max(Sk)为分界点,把曲线片段Sk一分为二,变成两个新的曲线片段Lk和Rk,其中Lk的起点和终点坐标分别为pt_start(Sk)和pt_max(Sk),Rk的起点和终点坐标分别为pt_max(Sk)、pt_end(Sk),之后把Sk从队里Q中删除,再把Lk和Rk插入Q中第k和第k+1的位置,作为新的Sk和Sk+1,此时Q的长度增加1;
步骤7:迭代返回,返回至步骤4继续执行。
采用上述技术方案所产生的有益效果在于:本发明提供的一种边数可设定的对轮廓曲线的多边形简化方法,解决了传统的Douglas-Peucker方法(对应于目前广泛使用的计算机视觉函数库OpenCV中的approxPolyDP()函数)无法直接按照指定边数对轮廓曲线进行多边形简化的缺陷,本发明与Douglas-Peucker方法相比,使用者只需要设定简化后多边形的边数即可,无需预先知道或反复调整距离误差epislon;本发明适用于任意给定的不自交叉的轮廓曲线,可以是封闭或不封闭的,可按使用者指定边数直接生成简化后的多边形表示,大大压缩了轮廓曲线数据,显著提升了图像处理过程中对轮廓曲线的简化表示的处理效率。
本发明可控性高,可任意指定简化后多边形的边数,使用简单,无需预先设定简化后的最大距离误差;适用性好,适用于任何不自交叉的轮廓曲线的多边形简化表示,包括封闭和不封闭的;计算简单,便于用计算机实现,对软硬件要求不高,代价小、效率高。
附图说明
图1为本发明多边形简化方法流程图;
图2为本发明实施例中对封闭轮廓曲线指定6条边的简化过程图;
图3为本发明实施例中对封闭轮廓曲线指定6条边的简化结果图;
图4为本发明实施例中对非封闭轮廓曲线指定5条边的简化过程图;
图5为本发明实施例中对非封闭轮廓曲线指定5条边的简化结果图;
图6为Douglas-Peucker方法对封闭轮廓曲线指定epislon范围为25~43的简化结果图;
图7为Douglas-Peucker方法对非封闭轮廓曲线指定epislon范围为48~95的简化结果图;
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
一种边数可设定的对轮廓曲线的多边形简化方法,如图1所示,包括以下步骤:
步骤1:多边形简化参数初始化设定:对于给定的待简化轮廓曲线,记为C,设定简化后多边形的边数X,其中X为不小于2的整数;若C为封闭轮廓曲线,则X表示简化后的封闭多边形的边数,即顶点数;若C为非封闭轮廓曲线,简化后的多边形实际是非封闭的折线,X则代表折线的边数,比顶点数少1,此时非封闭的折线顶点包括该折线的折点和端点;初始化曲线片段队列Q为空,即Q={};
前述轮廓曲线用C来表示,将其视作由一个或多个曲线片段首尾衔接连接而成,即用队列Q={S1,S2,S3,…,Sn}的形式来表示,即由顺序排列的n个曲线片段S1、S2、…、Sn连接而成;轮廓曲线是连续的,即相邻的曲线片段是首尾衔接的,即Si的终点坐标pt_end(Si)与Si+1的起点坐标pt_start(Si+1)重合;轮廓曲线可以是封闭的,即Sn的终点坐标pt_end(Sn)与S1的起点坐标pt_start(S1)重合;轮廓曲线也可以是不封闭的,即pt_end(Sn)与pt_start(S1)不重合,这时该轮廓曲线实质上是一条平面或三维空间内的非封闭曲线;轮廓曲线不可以是自交叉的,其所有的曲线片段两两之间都不存在交叉点;
步骤2:对待简化轮廓曲线进行初始点查找:若C为封闭轮廓曲线,则查找C上距离最远的两个点,作为初始两个点;若C为非封闭轮廓曲线,则以C的两个端点作为初始两个点;初始两个点记为ptA、ptB;
步骤3:对待简化轮廓曲线进行轮廓曲线初始分割:以ptA、ptB为分界点,对C进行分割;若C为封闭轮廓曲线,则C被分割成2个曲线片段,记为S1、S2,此时S1和S2首尾相接且形成封闭曲线,即S2起点pt_start(S2)与S1终点pt_end(S1)重合并且S2终点pt_end(S2)与S1起点pt_start(S1)重合,将S1和S2依次放入曲线片段队列Q,即Q={S1,S2};若C为非封闭轮廓曲线,则C整体作为1个曲线片段,记为S1,放入曲线片段队列Q,即Q={S1};
前述曲线片段为由多个连续点组成的一个任意形状的连续的线条;当曲线片段所有点都在同一平面内时该线条为二维,当曲线片段所有点都在同一三维空间内时该线条为三维,但不共平面;该线条只有一个起点、一个终点,起点和终点不重合,也不存在分叉情况;该线条既不封闭,也不自交叉,即任意两个点的位置都不重合;该线条上的所有点的位置测量后用二维或三维坐标描述;设曲线片段用S=(pt_start(S),pt_end(S),dis_max(S),pt_max(S))的四元素的形式来表示,其中S代表曲线片段,pt_start(S)表示S的起点坐标,pt_end(S)表示S的终点坐标,dis_max(S)和pt_max(S)分别表示S上的最大点弦距及其在S上对应点的坐标,即对于线条S上所有的点而言,若某点距离S的弦线最远,即该点到过点pt_start(S)和pt_end(S)的直线的距离最远,则取该点记为pt_max(S),对应的点弦距记为dis_max(S);
步骤4:对曲线片段四元素信息进行计算:对于新插入队列Q中的每一个曲线片段Si,计算其对应的dis_max(Si)及pt_max(Si),形成并记录其完整的四元素信息,即Si=(pt_start(Si),pt_end(Si),dis_max(Si),pt_max(Si)),其中Si代表曲线片段,pt_start(Si)表示Si的起点坐标,pt_end(Si)表示Si的终点坐标,dis_max(Si)和pt_max(Si)分别表示Si上的最大点弦距及其在Si上对应点的坐标;
步骤5:对结束条件进行判断及输出简化后结果:记当前曲线片段队列Q的长度为n,即Q={S1,S2,S3,…,Sn};若n等于X,则依次输出曲线片段S1、S2、S3、…、Sn的起点以及Sn的终点,作为简化多边形P={pt1,pt2,pt3,…,ptX,ptM}的X+1个顶点,其中pt1=pt_start(S1),pt2=pt_start(S2),pt3=pt_start(S3),…,ptX=pt_start(Sn),ptM=pt_end(Sn);若C为封闭轮廓曲线,则此时Sn终点与S1起点相同,即ptM与pt1重合,若C为非封闭轮廓曲线,则此二点不重合;至此,完成了对轮廓曲线C的简化描述过程,即用P中的X+1个顶点连成的X条边的多边形完成了对给定轮廓曲线C的简化描述,过程结束;若n小于X则跳转至步骤6;
其中对于给定的轮廓曲线C,将其简化为多边形P={pt1,pt2,pt3,…,ptX,ptM}的形式,实际上M=X+1;其中,P代表简化后的多边形,是平面的或三维的,由M个顺序排列的点pt1、pt2、…、ptX、ptM顺序连接而成;若C为封闭的,则P为封闭的,即pt1与ptM位置重合;若C为非封闭的,则P为非封闭的,即pt1与ptM位置不重合;前述多边形简化,是指P的边数小于轮廓曲线C上的点数,即用少量边的多边形来表示C;本发明边数可设定的对轮廓曲线的多边形简化,是指简化得到的多边形P的边数可任意指定,设为X,X为不小于2的整数,由使用者根据其需求指定;
步骤6:对最大点弦距曲线片段进行查找与分割:从队列Q中查找dis_max(Si)最大的一个曲线片段,记为Sk,即当前Q中所有的曲线片段中第k个曲线片段的最大点弦距最大,即dis_max(Sk)最大;以pt_max(Sk)为分界点,把曲线片段Sk一分为二,变成两个新的曲线片段Lk和Rk,其中Lk的起点和终点坐标分别为pt_start(Sk)和pt_max(Sk),Rk的起点和终点坐标分别为pt_max(Sk)、pt_end(Sk),之后把Sk从队里Q中删除,再把Lk和Rk插入Q中第k和第k+1的位置,作为新的Sk和Sk+1,此时Q的长度增加1;
步骤7:迭代返回,返回至步骤4继续执行。
实施例1:对封闭轮廓曲线进行多边形简化,如图2、图3所示给出了应用本发明ApproxPolyYH方法对一个封闭轮廓曲线指定6条边的多边形简化过程及结果的实施例;给定待简化的轮廓曲线,记为C,初始化轮廓曲线队列Q={};查找C上距离最远两点,记为ptA和ptB;以ptA、ptB为分界点把C进行分割分成两段新的曲线片段,记为S1、S2,其中四元素表示S1=(ptA,ptB,d2,ptD),S2=(ptB,ptA,d1,ptC),把S1和S2依次放入队列Q,即Q={S1,S2};从Q中查找具有最大点弦距的曲线片段S2,以其最大点弦距所对应的点ptC为分割点将S2分割为L2和R2,即L2=(ptB,ptC,d4,ptE),R2=(ptC,ptA,d3,ptG),将S2从Q中删除,把L2和R2插入Q中原来S2所在的位置,成为新的S2和S3,即此时Q={S1,S2,S3};重复上述最大点弦距的查找及对应曲线片段的分割步骤,直至Q的长度达到6,即Q中曲线片段为6个,此时依次输出Q中各曲线片段的起点以及最后一个曲线片段的终点,即ptA、ptD、ptF、ptB、ptE、ptC、ptA作为封闭的简化多边形P的顶点,至此,完成了对轮廓曲线C的多边形简化。
实施例2:非封闭轮廓曲线的多边形简化,如图4、图5所示给出了应用本发明ApproxPolyYH方法对一个非封闭轮廓曲线指定5条边的多边形简化过程及结果的实施例。
将本发明与Douglas-Peucker方法比较,如图6所示给出了Douglas-Peucker方法当epislon取值25~43范围内的对同一封闭轮廓曲线简化结果图,如图7所示给出了Douglas-Peucker方法当epislon取值48~95范围内对同一非封闭轮廓曲线的简化结果图。分析比较图2~图7可以看出,ApproxPolyYH方法可达到与Douglas-Peucker方法基本一致的简化精度和结果,但使用上要方便很多:要对轮廓曲线进行指定边数的多边形简化表示,采用ApproxPolyYH方法直接输入指定边数即可,无需预先知道epislon,而Douglas-Peucker方法不能直接完成指定边数多边形的简化,需预先确定简化后精度epislon的大小,这需要使用者凭借大量经验或反复试验调整才能确定。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。
Claims (4)
1.一种边数可设定的对轮廓曲线的多边形简化方法,其特征在于,包括下述步骤:
步骤1:多边形简化参数初始化设定:对于给定的待简化轮廓曲线,记为C,设定简化后多边形的边数X,其中X为不小于2的整数;若C为封闭轮廓曲线,则X表示简化后的封闭多边形的边数,即顶点数;若C为非封闭轮廓曲线,简化后的多边形实际是非封闭的折线,X则代表折线的边数,比顶点数少1,此时非封闭的折线顶点包括该折线的折点和端点;初始化曲线片段队列Q为空,即Q={};
步骤2:对待简化轮廓曲线进行初始点查找:若C为封闭轮廓曲线,则查找C上距离最远的两个点,作为初始两个点;若C为非封闭轮廓曲线,则以C的两个端点作为初始两个点;初始两个点记为ptA、ptB;
步骤3:对待简化轮廓曲线进行轮廓曲线初始分割:以ptA、ptB为分界点,对C进行分割;若C为封闭轮廓曲线,则C被分割成2个曲线片段,记为S1、S2,此时S1和S2首尾相接且形成封闭曲线,即S2起点pt_start(S2)与S1终点pt_end(S1)重合并且S2终点pt_end(S2)与S1起点pt_start(S1)重合,将S1和S2依次放入曲线片段队列Q,即Q={S1,S2};若C为非封闭轮廓曲线,则C整体作为1个曲线片段,记为S1,放入曲线片段队列Q,即Q={S1};
步骤4:对曲线片段四元素信息进行计算:对于新插入队列Q中的每一个曲线片段Si,计算其对应的dis_max(Si)及pt_max(Si),形成并记录其完整的四元素信息,即Si=(pt_start(Si),pt_end(Si),dis_max(Si),pt_max(Si)),其中Si代表曲线片段,pt_start(Si)表示Si的起点坐标,pt_end(Si)表示Si的终点坐标,dis_max(Si)和pt_max(Si)分别表示Si上的最大点弦距及其在Si上对应点的坐标;
步骤5:对结束条件进行判断及输出简化后结果:记当前曲线片段队列Q的长度为n,即Q={S1,S2,S3,…,Sn};若n等于X,则依次输出曲线片段S1、S2、S3、…、Sn的起点以及Sn的终点,作为简化多边形P={pt1,pt2,pt3,…,ptX,ptM}的X+1个顶点,其中pt1=pt_start(S1),pt2=pt_start(S2),pt3=pt_start(S3),…,ptX=pt_start(Sn),ptM=pt_end(Sn);若C为封闭轮廓曲线,则此时Sn终点与S1起点相同,即ptM与pt1重合,若C为非封闭轮廓曲线,则此二点不重合;至此,完成了对轮廓曲线C的简化描述过程,即用P中的X+1个顶点连成的X条边的多边形完成了对给定轮廓曲线C的简化描述,过程结束;若n小于X则跳转至步骤6;
步骤6:对最大点弦距曲线片段进行查找与分割:从队列Q中查找dis_max(Si)最大的一个曲线片段,记为Sk,即当前Q中所有的曲线片段中第k个曲线片段的最大点弦距最大,即dis_max(Sk)最大;以pt_max(Sk)为分界点,把曲线片段Sk一分为二,变成两个新的曲线片段Lk和Rk,其中Lk的起点和终点坐标分别为pt_start(Sk)和pt_max(Sk),Rk的起点和终点坐标分别为pt_max(Sk)、pt_end(Sk),之后把Sk从队里Q中删除,再把Lk和Rk插入Q中第k和第k+1的位置,作为新的Sk和Sk+1,此时Q的长度增加1;
步骤7:迭代返回,返回至步骤4继续执行。
2.根据权利要求1所述的一种边数可设定的对轮廓曲线的多边形简化方法,其特征在于:
所述边数可设定的对轮廓曲线的多边形简化方法简称ApproxPloyYH方法;步骤1中所述轮廓曲线用C来表示,将其视作由一个或多个曲线片段首尾衔接连接而成,即用队列Q={S1,S2,S3,…,Sn}的形式来表示,即由顺序排列的n个曲线片段S1、S2、…、Sn连接而成;轮廓曲线是连续的,即相邻的曲线片段是首尾衔接的,即Si的终点坐标pt_end(Si)与Si+1的起点坐标pt_start(Si+1)重合;轮廓曲线可以是封闭的,即Sn的终点坐标pt_end(Sn)与S1的起点坐标pt_start(S1)重合;轮廓曲线也可以是不封闭的,即pt_end(Sn)与pt_start(S1)不重合,这时该轮廓曲线实质上是一条平面或三维空间内的非封闭曲线;轮廓曲线不可以是自交叉的,其所有的曲线片段两两之间都不存在交叉点。
3.根据权利要求1所述的一种边数可设定的对轮廓曲线的多边形简化方法,其特征在于:
步骤3中所述曲线片段为由多个连续点组成的一个任意形状的连续的线条;当曲线片段所有点都在同一平面内时该线条为二维,当曲线片段所有点都在同一三维空间内时该线条为三维,但不共平面;该线条只有一个起点、一个终点,起点和终点不重合,也不存在分叉情况;该线条既不封闭,也不自交叉,即任意两个点的位置都不重合;该线条上的所有点的位置测量后用二维或三维坐标描述;设曲线片段用S=(pt_start(S),pt_end(S),dis_max(S),pt_max(S))的四元素的形式来表示,其中S代表曲线片段,pt_start(S)表示S的起点坐标,pt_end(S)表示S的终点坐标,dis_max(S)和pt_max(S)分别表示S上的最大点弦距及其在S上对应点的坐标,即对于线条S上所有的点而言,若某点距离S的弦线最远,即该点到过点pt_start(S)和pt_end(S)的直线的距离最远,则取该点记为pt_max(S),对应的点弦距记为dis_max(S)。
4.根据权利要求1所述的一种边数可设定的对轮廓曲线的多边形简化方法,其特征在于:
步骤5中对于给定的轮廓曲线C,将其简化为多边形P={pt1,pt2,pt3,…,ptX,ptM}的形式,实际上M=X+1;其中,P代表简化后的多边形,是平面的或三维的,由M个顺序排列的点pt1、pt2、…、ptX、ptM顺序连接而成;若C为封闭的,则P为封闭的,即pt1与ptM位置重合;若C为非封闭的,则P为非封闭的,即pt1与ptM位置不重合;前述多边形简化,是指P的边数小于轮廓曲线C上的点数,即用少量边的多边形来表示C;本发明边数可设定的对轮廓曲线的多边形简化,是指简化得到的多边形P的边数可任意指定,设为X,X为不小于2的整数,由使用者根据其需求指定。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911402540.1A CN111145204B (zh) | 2019-12-31 | 2019-12-31 | 一种边数可设定的对轮廓曲线的多边形简化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911402540.1A CN111145204B (zh) | 2019-12-31 | 2019-12-31 | 一种边数可设定的对轮廓曲线的多边形简化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111145204A true CN111145204A (zh) | 2020-05-12 |
CN111145204B CN111145204B (zh) | 2023-07-18 |
Family
ID=70522262
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911402540.1A Active CN111145204B (zh) | 2019-12-31 | 2019-12-31 | 一种边数可设定的对轮廓曲线的多边形简化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111145204B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62262189A (ja) * | 1986-05-08 | 1987-11-14 | Hitachi Ltd | 画像領域輪郭線分化方法 |
US20070286493A1 (en) * | 2006-04-12 | 2007-12-13 | Fujitsu Limited | Shape comparison apparatus on contour decomposition and correspondence |
CN104346798A (zh) * | 2013-08-01 | 2015-02-11 | 深圳中兴力维技术有限公司 | 目标轮廓多边形逼近方法及其装置 |
CN105184802A (zh) * | 2015-09-30 | 2015-12-23 | 西安电子科技大学 | 一种图像处理的方法及装置 |
-
2019
- 2019-12-31 CN CN201911402540.1A patent/CN111145204B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62262189A (ja) * | 1986-05-08 | 1987-11-14 | Hitachi Ltd | 画像領域輪郭線分化方法 |
US20070286493A1 (en) * | 2006-04-12 | 2007-12-13 | Fujitsu Limited | Shape comparison apparatus on contour decomposition and correspondence |
CN104346798A (zh) * | 2013-08-01 | 2015-02-11 | 深圳中兴力维技术有限公司 | 目标轮廓多边形逼近方法及其装置 |
CN105184802A (zh) * | 2015-09-30 | 2015-12-23 | 西安电子科技大学 | 一种图像处理的方法及装置 |
Non-Patent Citations (2)
Title |
---|
郑国焱: "保持形状特征的自适应轮廓点采样算法" * |
陈登梅;李学庆;李德生;: "一种新的曲线字库自动生成方法" * |
Also Published As
Publication number | Publication date |
---|---|
CN111145204B (zh) | 2023-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109697688B (zh) | 一种用于图像处理的方法和装置 | |
CN110458957B (zh) | 一种基于神经网络的图像三维模型构建方法及装置 | |
Jakob et al. | Instant field-aligned meshes. | |
CN102663820B (zh) | 三维头部模型重建方法 | |
KR101285941B1 (ko) | 요구되는 기하학적 연속성을 가지는 파라메트릭 표면 생성프로세스 | |
US8406509B2 (en) | Three-dimensional surface generation method | |
US9123112B2 (en) | Method for the pre-processing of a three-dimensional image of the surface of a tyre for use in the inspection of said surface | |
CN110688947B (zh) | 一种同步实现人脸三维点云特征点定位和人脸分割的方法 | |
US11315313B2 (en) | Methods, devices and computer program products for generating 3D models | |
CN109584327B (zh) | 人脸老化模拟方法、装置以及设备 | |
KR20070017049A (ko) | 메쉬로부터 파라미터화 표면의 아이소토폴로직(isotopologic) 세트를 생성하는 프로세스 | |
WO2012096747A1 (en) | Forming range maps using periodic illumination patterns | |
CN107301673B (zh) | 一种利用标准模型库构造牙齿的局部坐标系的算法 | |
US10169891B2 (en) | Producing three-dimensional representation based on images of a person | |
CN110021000B (zh) | 基于图层变形的发际线修复方法及装置 | |
Cohen et al. | Virtual reconstruction of archeological vessels using expert priors and intrinsic differential geometry information | |
CN110084894B (zh) | 三维模型的局部放大展示方法、装置与电子设备 | |
US20220237880A1 (en) | System and method of generating a 3d representation of an object | |
CN110288517B (zh) | 基于投影匹配组的骨架线提取方法 | |
EP3273413B1 (en) | System and method for geometric warping correction in projection mapping | |
Abzal et al. | Development of a novel simplification mask for multi-shot optical scanners | |
CN111145204B (zh) | 一种边数可设定的对轮廓曲线的多边形简化方法 | |
CN110555385A (zh) | 一种基于变步长曲率滤波的焊缝特征点求取方法 | |
Choi et al. | Subdivision connectivity remeshing via Teichmüller extremal map | |
CN115082640A (zh) | 基于单张图像的3d人脸模型纹理重建方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |