CN111145204A - 一种边数可设定的对轮廓曲线的多边形简化方法 - Google Patents

一种边数可设定的对轮廓曲线的多边形简化方法 Download PDF

Info

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
Application number
CN201911402540.1A
Other languages
English (en)
Other versions
CN111145204B (zh
Inventor
杨华
董竹庆
王姣
刘梦迪
曹丽娜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenyang Aerospace University
Original Assignee
Shenyang Aerospace University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenyang Aerospace University filed Critical Shenyang Aerospace University
Priority to CN201911402540.1A priority Critical patent/CN111145204B/zh
Publication of CN111145204A publication Critical patent/CN111145204A/zh
Application granted granted Critical
Publication of CN111145204B publication Critical patent/CN111145204B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/181Segmentation; Edge detection involving edge growing; involving edge linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing 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的整数,由使用者根据其需求指定。
CN201911402540.1A 2019-12-31 2019-12-31 一种边数可设定的对轮廓曲线的多边形简化方法 Active CN111145204B (zh)

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)

* Cited by examiner, † Cited by third party
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 西安电子科技大学 一种图像处理的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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