CN114863438A - 用于识别曲线的方法及系统 - Google Patents

用于识别曲线的方法及系统 Download PDF

Info

Publication number
CN114863438A
CN114863438A CN202210516956.1A CN202210516956A CN114863438A CN 114863438 A CN114863438 A CN 114863438A CN 202210516956 A CN202210516956 A CN 202210516956A CN 114863438 A CN114863438 A CN 114863438A
Authority
CN
China
Prior art keywords
points
array
array coordinate
coordinate point
point set
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.)
Pending
Application number
CN202210516956.1A
Other languages
English (en)
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN202210516956.1A priority Critical patent/CN114863438A/zh
Publication of CN114863438A publication Critical patent/CN114863438A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/18Extraction of features or characteristics of the image
    • G06V30/1801Detecting partial patterns, e.g. edges or contours, or configurations, e.g. loops, corners, strokes or intersections
    • G06V30/18076Detecting partial patterns, e.g. edges or contours, or configurations, e.g. loops, corners, strokes or intersections by analysing connectivity, e.g. edge linking, connected component analysis or slices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/414Extracting the geometrical structure, e.g. layout tree; Block segmentation, e.g. bounding boxes for graphics or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/42Document-oriented image-based pattern recognition based on the type of document
    • G06V30/422Technical drawings; Geographical maps

Abstract

本发明实施例提供一种用于识别曲线的方法及系统,属于曲线的识别技术领域。所述方法包括:获取待识别的图像;在图像上建立平面坐标系以得到像素灰度值大于预设的第一阈值的区域的数组坐标以构成数组集合;根据数组集合确定图像的连通区域对应的数组坐标点集;删除连通区域元素数小于预设的第二阈值的连通区域的数组坐标点集;确定每个连通区域数组坐标点集的端点以及端点顺序;将具有分叉点的数组坐标点集划分为无分叉点的数组坐标点集;删除数组坐标点集中的跳点;删除数组坐标点集中偏转角度小于预设的第三阈值的拐点;采用预设的数量范围的点替代每个数组坐标点集中的点;基于线条拟合算法连接每个数组坐标点集中的点以形成识别后的曲线线条。

Description

用于识别曲线的方法及系统
技术领域
本发明涉及曲线的识别技术领域,具体地涉及一种用于识别曲线的方法及系统。
背景技术
在传统的平面设计、工业设计、建筑设计、环境设计等设计领域,普遍采用的设计流程中,设计师首先需要利用物理介质(纸,笔)绘制大量方案草图。选定的方案草图再通过扫描或拍照输入计算机,进行进一步的设计工作。在后续的设计环节中,通常需要将图像中通过笔触绘制的的像素格式的线条,转换为数字格式的Bezier曲线或者Nurb曲线,以达到平滑、精确、减少数据量,便于修改和编辑的目的。
在平面设计领域,从图像格式到Bezier/Nurbs曲线的转换常用在矢量图的创建过程中。在工业设计、建筑设计、环境设计等涉及到实体三维建模的领域,从图像格式到Bezier/Nurbs曲线的转换往往是启动三维设计的初始步骤。从整个设计流程而言,这一过程均是不可或缺的。
这种转换目前仍主要依靠人力手工完成,一方面需要设计师具备一定的技能,需要大量的培训成本;另一方面效率低下,具体的过程可以视作在计算机中手工将所有线条重复描摹一遍,在转换过程中需要耗费设计师大量的时间。将这一过程自动化,能够为广大的设计从业者节约大量的人力和时间,具有广阔的前景。但由于这一应用场景较为小众,相关产业链从业人员知识结构固化,缺乏颠覆的决心和动力,导致相关的研究较少,目前市场上尚无成熟的将图像格式转换到Bezier/Nurbs曲线的应用。
发明内容
本发明实施例的目的是提供一种用于识别曲线的方法及系统,该方法及系统能够准确识别图像中的曲线。
为了实现上述目的,本发明提供一种用于识别曲线的方法,包括:
获取待识别的图像;
在所述图像上建立平面坐标系以得到像素灰度值大于预设的第一阈值的区域的数组坐标以构成数组集合;
根据所述数组集合确定所述图像的连通区域对应的数组坐标点集,其中,所述连通区域包括至少两个端点以及连接至少两个端点的线条;
删除连通区域元素数小于预设的第二阈值的所述连通区域的数组坐标点集;
确定每个所述连通区域数组坐标点集的端点以及端点顺序;
将具有分叉点的所述数组坐标点集划分为无分叉点的数组坐标点集;
删除所述数组坐标点集中的跳点,其中,所述数组坐标点集包括多个拐点,每个所述拐点对应有偏转方向,所述跳点为相邻的两个所述拐点的偏转方向相同,且自身的偏转方向与相邻的两个所述拐点的偏转方向相反的拐点;
删除所述数组坐标点集中偏转角度小于预设的第三阈值的拐点;
采用预设的数量范围的点替代每个所述数组坐标点集中的点;
基于线条拟合算法连接每个所述数组坐标点集中的点以形成识别后的曲线线条。
可选地,根据所述数组集合确定所述图像的连通区域对应的数组坐标点集包括:
从所述数组集合中随机选择一个未被选择的点以作为起点;
在所述数组集合中搜索与所述起点相邻的点加入数组坐标点集中;
判断当前所述数组集合中是否存在未被选择的点;
在判断当前所述数组集合中存在未被选择的点的情况下,再次执行从所述数组集合中随机选择一个未被选择的点的步骤,直到判断当前所述数组集合中不存在未被选择的点;
在判断当前所述数组集合中存在未被选的点的情况下,输出每次循环生成的数组坐标点集。
可选地,删除连通区域元素数小于预设的第二阈值的所述连通区域的数组坐标点集包括:
统计每个数组坐标点集中的点的数量;
删除点的数量小于所述第二阈值的所述数组坐标点集。
可选地,确定每个所述数组坐标点集的端点以及端点顺序包括:
确定所述数组坐标点集的中心点;
计算所述数组坐标点集中的每个点与对应的所述中心点的距离;
将距离最大的点作为所述数组坐标点集的起点。
可选地,确定每个所述数组坐标点集的端点以及端点顺序包括:
从所述数组坐标点集的起点出发,在所述数组坐标点集中搜索位于当前选择的起点周围的多个点以构成一个片层;
从当前的片层出发,在所述数组坐标点集中搜索位于所述片层的所有点周围且未生成片层的多个点以构成新的片层;
判断当前所述数组坐标点集中否还存在未生成片层的点;
在判断当前所述数组坐标点集中还存在未生成片层的点的情况下,再次返回执行从当前的片层出发,在所述数组坐标点集中搜索位于所述片层的所有点周围且未生成片层的多个点以构成新的片层的步骤,直到判断当前所述数组坐标点集不存在未生成片层的点。
可选地,将具有分叉点的所述数组坐标点集划分为无分叉点的数组坐标点集包括:
在所述数组坐标点集中按照顺序选择未被选择的所述片层;
判断所述片层是否存在间断点;
在判断所述片层不存在间断点的情况下,判断当前是否还存在未被选择的所述片层;
在判断当前还存在未被选的所述片层的情况下,再次返回执行在所述数组坐标点集中按照顺序选择未被选择的所述片层的步骤;
在判断当前不存在未被选择的所述片层的情况下,确定已将当前的所述数组坐标点集划分为无分叉点的数组坐标点集;
在判断所述片层存在间断点的情况下,将当前的所述片层前的所有点汇总为一个新的数组坐标点集,并在原数组坐标点集中删除当前的所述片层前的所有点;
分别从当前的所述片层中连续的点出发,在原数组坐标点集中重新生成新的片层以将原数组坐标点集划分为多个新的数组坐标点集;
再次返回执行在所述数组坐标点集中按照顺序选择未被选择的所述片层的步骤。
可选地,将具有分叉点的所述数组坐标点集划分为无分叉点的数组坐标点集包括:
计算每个所述片层的数学中心点;
连接每个数学中心点以构成划分后的数组坐标点集。
可选地,采用预设的数量范围的点替代每个所述数组坐标点集中的点包括:
在所述数组坐标点集中选择起始点和最终点;
在所述起始点和最终点之间近似平均选择多个点以作为替代后的点;
连接所有选择的点以构成替代后的所述数组坐标点集。
另一方面,本发明还提供一种用于识别曲线的系统,所述系统包括处理器,所述处理器用于执行如上述任一所述的方法。
再一方面,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有指令,所述指令用于被机器读取以使得所述机器执行如上述任一所述的方法。
通过上述技术方案,本发明提供的用于识别曲线的方法及系统通过在图像中建立平面坐标系得到数组集合,并根据得到的数组集合确定曲线的端点和拐点,最后针对得到的端点和拐点以及数组集合中的连通区域采用曲线拟合算法得到识别的曲线。相较于现有技术而言,本发明提供的方法及系统能够直接将图像转换为Bezier/Nurbs曲线,从而使得后续的OCR等识别方法能够实现更高的识别准确度。
本发明实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施例,但并不构成对本发明实施例的限制。在附图中:
图1是根据本发明的一个实施方式的用于识别曲线的方法的流程图;
图2a是根据本发明的一个实施方式的获取的图像的示例图;
图2b是根据本发明的一个实施方式的获取的图像的示例图;
图2c是根据本发明的一个实施方式的获取的图像的示例图;
图2d是根据本发明的一个实施方式的获取的图像的示例图;
图3是根据本发明的一个实施方式的生成该连通区域的数组坐标点的方法的流程图;
图4根据本发明的一个实施方式的获取连通区域的起点的方法的流程图;
图5是根据本发明的一个实施方式的获取连通区域的端点顺序的方法的流程图;
图6是根据本发明的一个实施方式的片层生长的方法的流程图;
图7是根据本发明的一个实施方式的二次划分的方法的流程图。
具体实施方式
以下结合附图对本发明实施例的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明实施例,并不用于限制本发明实施例。
如图1所示是根据本发明的一个实施方式的用于识别曲线的方法的流程图。在该图1中,该方法可以包括:
在步骤S10中,获取待识别的图像;
在步骤S11中,在图像上建立平面坐标系以得到像素灰度值大于预设的第一阈值的区域的数组坐标以构成数组集合;
在步骤S12中,根据数组集合确定图像的连通区域对应的数组坐标点集,其中,连通区域包括至少两个端点以及连接至少两个端点的线条;
在步骤S13中,删除连通区域元素数小于预设的第二阈值的连通区域的数组坐标点集;
在步骤S14中,确定每个连通区域数组坐标点集的端点以及端点顺序;
在步骤S15中,将具有分叉点的数组坐标点集划分为无分叉点的数组坐标点集;
在步骤S16中,删除数组坐标点集中的跳点,其中,数组坐标点集包括多个拐点,每个拐点对应有偏转方向,跳点为相邻的两个拐点的偏转方向相同,且自身的偏转方向与相邻的两个拐点的偏转方向相反的拐点;
在步骤S17中,删除数组坐标点集中偏转角度小于预设的第三阈值的拐点;
在步骤S18中,采用预设的数量范围的点替代每个数组坐标点集中的点;
在步骤S19中,基于线条拟合算法连接每个数组坐标点集中的点以形成识别后的曲线线条。
在该如图1所示出的方法中,步骤S10获取的图像可以是一张矩形灰度图片,该矩形灰度图片可以是例如图2a至图2d所示。在该图2a至图2d中,输入的图片均为灰度图片,且由多个线条构成。如果输入的图片并非是灰度图片或边界并不明显,那么可以对输入的图片进行预处理。具体地,该预处理可以是对图片进行取色处理,将前景图像修正为深色,而将背景图像修正为浅色,又或是提取图片中的色块的边界后,再将原色块删除。
步骤S11可以用于在图像上建立平面坐标系以得到像素灰度值大于预设的第一阈值的区域的数组坐标以构成数组集合。步骤S12可以用于根据数组集合确定图像的连通区域对应的数组坐标点。其中,连通区域表示在图像中连续的线条,而连通区域对应的数组坐标点则可以表示在图像中的连续线条所对应的点。而对于生成该连通区域的方法,虽然可以是本领域人员所知的多种形式。但是,在本发明的一个优选示例中,生成该连通区域的数组坐标点的方法可以是包括如图3中所示出的步骤。在该图3中,该步骤S12可以包括:
在步骤S20中,从数组集合中随机选择一个未被选择的点以作为起点;
在步骤S21中,在数组集合中搜索与起点相邻的点加入数组坐标点集中;
在步骤S22中,判断当前数组集合中是否存在未被选择的点;
在判断当前数组集合中存在未被选择的点的情况下,再次执行从数组集合中随机选择一个未被选择的点的步骤,直到判断当前数组集合中不存在未被选择的点;
在步骤S23中,在判断当前数组集合中存在未被选的点的情况下,输出每次循环生成的数组坐标点集。
在该如图3所示出的方法中,步骤S21所搜索的与该起点相邻的点的方法是可以例如针对当前的起点的横坐标或纵坐标+1,从而的与该起点在横坐标方向或纵坐标方向上相邻的点。在该步骤S21每次搜索完毕后,则可以得到以初始选择的点为起点的一个连通区域,而当步骤S22判断当前仍然存在未被选择的点的情况下,此时说明该数组集合中仍然存在其他的连通区域,那么可以重新返回步骤S20,从而开始新的连通区域的生成过程。返回,在最后一个连通区域的点搜索完成后,步骤S22判断当前不存在未被选择的点,那就可以将每次循环所得到的连通区域组合,从而构成每个连通区域所组成的对应的数组坐标点集。
在步骤S12生成了由单个连通区域构成的数组坐标点集后,考虑到图中可能存在由于绘图这无意间点触造成的墨迹点,那么久需要对生成的数组坐标点集进行筛选。在该实施方式中,考虑到墨迹点最明显的特征就是整体的面积相对于完整的线条而言会很小,因此可以是通过判断连通区域内的元素数(即连通区域内的数组坐标点的数量)的多少来确定该连通区域是否为墨迹点,即步骤S13:删除连通区域元素数小于预设的第二阈值的连通区域的数组坐标点集。具体地,该步骤S13可以是首先统计每个数组坐标点集中的点的数量,再删除点的数量小于第二阈值的数组坐标点集。
在经过步骤S13删除了墨迹点后,此时需要对每个连通区域的数组坐标点的各个特点进行识别,其中,该特点可以包括连通区域的端点和端点顺序(即起点和终点)。具体地,获取该起点的方法可以是包括如图4中所示出的步骤。在图4中,获取该起点的方法可以包括:
在步骤S30中,确定数组坐标点集的中心点;
在步骤S31中,计算数组坐标点集中的每个点与对应的中心点的距离;
在步骤S32中,将距离最大的点作为数组坐标点集的起点。
至于该端点顺序,则可以是采用如图5所示出的方法来搜索。在图5中,该方法可以包括:
在步骤S40中,从数组坐标点集的起点出发,在数组坐标点集中搜索位于当前选择的起点周围的多个点以构成一个片层;
在步骤S41中,从当前的片层出发,在数组坐标点集中搜索位于片层的所有点周围且未生成片层的多个点以构成新的片层;
在步骤S42中,判断当前数组坐标点集中否还存在未生成片层的点;
在判断当前数组坐标点集中还存在未生成片层的点的情况下,再次返回执行从当前的片层出发,在数组坐标点集中搜索位于片层的所有点周围且未生成片层的多个点以构成新的片层的步骤,直到判断当前数组坐标点集不存在未生成片层的点。
在该如图5所示出的方法中,片层可以为从起点出发的相邻点的集合。以如图6中所示出的数组坐标点集为例。在该图6中,该数组坐标点集的起点为(1,7)。那么经过步骤S40处理后得到的第一个片层则为(2,6),第二个片层则可以为{(3,7)、(3,6)、(3,5)},即在每次生成新的片层时新的片层的点的坐标为前一层的片层的坐标点的横坐标或纵坐标+1后得到的坐标点。在步骤S42判断当前已经不存在未被选择的坐标点的情况下,此时说明当前的连通区域的所有数组坐标点均已被片层覆盖,那么可以直接结束,并开始新的连通区域的片层生长过程。
在步骤S14完成所有的片层生长操作后,通过观察可以发现,所生成的每个片层,如果当前的连通区域有且仅有一个终点,那么显然每个片层所包含的数组坐标点都是连续的;反之,若当前的连通区域存在至少两个终点,那么则必然存在至少一个片层存在不连续的数组坐标点,即存在分叉点。因此,可以采用步骤S15针对每个存在的分叉点的位置进行划分,从而完成对存在分叉点的连通区域的二次划分。对于该二次划分的具体过程,虽然可以是本领域人员所知的多种形式。但是在本发明的一个优选示例中,该二次划分可以是包括如图7中所示出的步骤。在该图7中,该二次划分的过程可以是包括:
在步骤S50中,在数组坐标点集中按照顺序选择未被选择的片层;
在步骤S51中,判断片层是否存在间断点;
在步骤S52中,在判断片层不存在间断点的情况下,判断当前是否还存在未被选择的片层;
在判断当前还存在未被选的片层的情况下,再次返回执行在数组坐标点集中按照顺序选择未被选择的片层的步骤;
在步骤S53中,在判断当前不存在未被选择的片层的情况下,确定已将当前的数组坐标点集划分为无分叉点的数组坐标点集;
在步骤S54中,在判断片层存在间断点的情况下,将当前的片层前的所有点汇总为一个新的数组坐标点集,并在原数组坐标点集中删除当前的片层前的所有点;
在步骤S55中,分别从当前的片层中连续的点出发,在原数组坐标点集中重新生成新的片层以将原数组坐标点集划分为多个新的数组坐标点集.其中,重新生成新的片层的方法可以是采用如图5中所示出的方法;
再次返回执行在数组坐标点集中按照顺序选择未被选择的片层的步骤。
在确定已将当前的数组坐标点集划分为无分叉点的数组坐标点集后,可以针对划分出来的数组坐标点集重新确定起点和终点,即计算每个片层的数学中心点,再连接每个数学中心点以构成划分后的数组坐标点集。
在步骤S15划分完成后,每个连通区域均为具有单个起点和终点的连线。但是考虑到即使是具有单个起点和终点的连线,也可能存在该连线并非是曲线的情况。举例来说,某个连通区域可以是由两条直线构成的折线,此时则不能将该连通区域视为曲线。因此,需要经过步骤S16和步骤S17来去除这种情况。即步骤S16中删除跳点和步骤S17中删除的偏转角度过小的点。
在步骤S16和步骤S17处理完成后,此时的各个连通区域已经能够满足曲线的条件,可以采用线条拟合算法来形成识别后的线条。但是,考虑到不同的连通区域的点的数量不同,在执行曲线拟合算法前,如果点的数量过多,则会导致算法的运算量增加,而反之,若点的数量过少,则会导致曲线拟合算法的拟合效果不好。因此还需要执行步骤S18,即采用预设的数量范围的点替代每个数组坐标点集中的点。具体地,可以是先在数组坐标点集中选择起始点和最终点,然后在起始点和最终点之间近似平均选择多个点以作为替代后的点,最后连接所有选择的点以构成替代后的数组坐标点集。
另一方面,本发明还提供一种用于识别曲线的系统,所述系统包括处理器,所述处理器用于执行如上述任一所述的方法。
再一方面,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有指令,所述指令用于被机器读取以使得所述机器执行如上述任一所述的方法。
通过上述技术方案,本发明提供的用于识别曲线的方法及系统通过在图像中建立平面坐标系得到数组集合,并根据得到的数组集合确定曲线的端点和拐点,最后针对得到的端点和拐点以及数组集合中的连通区域采用曲线拟合算法得到识别的曲线。相较于现有技术而言,本发明提供的方法及系统能够直接将图像转换为Bezier/Nurbs曲线,从而使得后续的OCR等识别方法能够实现更高的识别准确度。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种用于识别曲线的方法,其特征在于,所述方法包括:
获取待识别的图像;
在所述图像上建立平面坐标系以得到像素灰度值大于预设的第一阈值的区域的数组坐标以构成数组集合;
根据所述数组集合确定所述图像的连通区域对应的数组坐标点集,其中,所述连通区域包括至少两个端点以及连接至少两个端点的线条;
删除连通区域元素数小于预设的第二阈值的所述连通区域的数组坐标点集;
确定每个所述连通区域数组坐标点集的端点以及端点顺序;
将具有分叉点的所述数组坐标点集划分为无分叉点的数组坐标点集;
删除所述数组坐标点集中的跳点,其中,所述数组坐标点集包括多个拐点,每个所述拐点对应有偏转方向,所述跳点为相邻的两个所述拐点的偏转方向相同,且自身的偏转方向与相邻的两个所述拐点的偏转方向相反的拐点;
删除所述数组坐标点集中偏转角度小于预设的第三阈值的拐点;
采用预设的数量范围的点替代每个所述数组坐标点集中的点;
基于线条拟合算法连接每个所述数组坐标点集中的点以形成识别后的曲线线条。
2.根据权利要求1所述的方法,其特征在于,根据所述数组集合确定所述图像的连通区域对应的数组坐标点集包括:
从所述数组集合中随机选择一个未被选择的点以作为起点;
在所述数组集合中搜索与所述起点相邻的点加入数组坐标点集中;
判断当前所述数组集合中是否存在未被选择的点;
在判断当前所述数组集合中存在未被选择的点的情况下,再次执行从所述数组集合中随机选择一个未被选择的点的步骤,直到判断当前所述数组集合中不存在未被选择的点;
在判断当前所述数组集合中存在未被选的点的情况下,输出每次循环生成的数组坐标点集。
3.根据权利要求1所述的方法,其特征在于,删除连通区域元素数小于预设的第二阈值的所述连通区域的数组坐标点集包括:
统计每个数组坐标点集中的点的数量;
删除点的数量小于所述第二阈值的所述数组坐标点集。
4.根据权利要求1所述的方法,其特征在于,确定每个所述数组坐标点集的端点以及端点顺序包括:
确定所述数组坐标点集的中心点;
计算所述数组坐标点集中的每个点与对应的所述中心点的距离;
将距离最大的点作为所述数组坐标点集的起点。
5.根据权利要求4所述的方法,其特征在于,确定每个所述数组坐标点集的端点以及端点顺序包括:
从所述数组坐标点集的起点出发,在所述数组坐标点集中搜索位于当前选择的起点周围的多个点以构成一个片层;
从当前的片层出发,在所述数组坐标点集中搜索位于所述片层的所有点周围且未生成片层的多个点以构成新的片层;
判断当前所述数组坐标点集中否还存在未生成片层的点;
在判断当前所述数组坐标点集中还存在未生成片层的点的情况下,再次返回执行从当前的片层出发,在所述数组坐标点集中搜索位于所述片层的所有点周围且未生成片层的多个点以构成新的片层的步骤,直到判断当前所述数组坐标点集不存在未生成片层的点。
6.根据权利要求5所述的方法,其特征在于,将具有分叉点的所述数组坐标点集划分为无分叉点的数组坐标点集包括:
在所述数组坐标点集中按照顺序选择未被选择的所述片层;
判断所述片层是否存在间断点;
在判断所述片层不存在间断点的情况下,判断当前是否还存在未被选择的所述片层;
在判断当前还存在未被选的所述片层的情况下,再次返回执行在所述数组坐标点集中按照顺序选择未被选择的所述片层的步骤;
在判断当前不存在未被选择的所述片层的情况下,确定已将当前的所述数组坐标点集划分为无分叉点的数组坐标点集;
在判断所述片层存在间断点的情况下,将当前的所述片层前的所有点汇总为一个新的数组坐标点集,并在原数组坐标点集中删除当前的所述片层前的所有点;
分别从当前的所述片层中连续的点出发,在原数组坐标点集中重新生成新的片层以将原数组坐标点集划分为多个新的数组坐标点集;
再次返回执行在所述数组坐标点集中按照顺序选择未被选择的所述片层的步骤。
7.根据权利要求6所述的方法,其特征在于,将具有分叉点的所述数组坐标点集划分为无分叉点的数组坐标点集包括:
计算每个所述片层的数学中心点;
连接每个数学中心点以构成划分后的数组坐标点集。
8.根据权利要求1所述的方法,其特征在于,采用预设的数量范围的点替代每个所述数组坐标点集中的点包括:
在所述数组坐标点集中选择起始点和最终点;
在所述起始点和最终点之间近似平均选择多个点以作为替代后的点;
连接所有选择的点以构成替代后的所述数组坐标点集。
9.一种用于识别曲线的系统,其特征在于,所述系统包括处理器,所述处理器用于执行如权利要求1至8任一所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有指令,所述指令用于被机器读取以使得所述机器执行如权利要求1至8任一所述的方法。
CN202210516956.1A 2022-05-12 2022-05-12 用于识别曲线的方法及系统 Pending CN114863438A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210516956.1A CN114863438A (zh) 2022-05-12 2022-05-12 用于识别曲线的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210516956.1A CN114863438A (zh) 2022-05-12 2022-05-12 用于识别曲线的方法及系统

Publications (1)

Publication Number Publication Date
CN114863438A true CN114863438A (zh) 2022-08-05

Family

ID=82637417

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210516956.1A Pending CN114863438A (zh) 2022-05-12 2022-05-12 用于识别曲线的方法及系统

Country Status (1)

Country Link
CN (1) CN114863438A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115409825A (zh) * 2022-09-06 2022-11-29 重庆众仁科技有限公司 一种基于图像识别的温湿压迹线识别方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115409825A (zh) * 2022-09-06 2022-11-29 重庆众仁科技有限公司 一种基于图像识别的温湿压迹线识别方法
CN115409825B (zh) * 2022-09-06 2023-09-12 重庆众仁科技有限公司 一种基于图像识别的温湿压迹线识别方法

Similar Documents

Publication Publication Date Title
CN110738207B (zh) 一种融合文字图像中文字区域边缘信息的文字检测方法
US11113546B2 (en) Lane line processing method and device
JP4926116B2 (ja) 画像検査装置
CN110533018B (zh) 一种图像的分类方法及装置
CN110287125A (zh) 基于图像识别的软件例行化测试方法及装置
CN109740542B (zh) 基于改进型east算法的文本检测方法
CN112070037B (zh) 基于遥感影像的道路提取方法、装置、介质及设备
CN115761225A (zh) 一种基于神经网络可解释性的图像标注方法
CN109858542A (zh) 一种字符识别方法和装置
CN114120349A (zh) 基于深度学习的试卷识别方法及系统
CN114863438A (zh) 用于识别曲线的方法及系统
CN101763510B (zh) 交错线矢量化提取及图形识别方法
CN110188495B (zh) 一种基于深度学习的二维户型图生成三维户型图的方法
US20020006224A1 (en) Computer automated process for vectorization of raster images
CN116361502B (zh) 一种图像检索方法、装置、计算机设备及存储介质
CN112364709A (zh) 基于编码识别的机柜智能资产盘点方法
CN112507938A (zh) 一种文本图元的几何特征计算方法及识别方法、装置
CN116661786A (zh) 一种设计页面生成方法及装置
CN111814795A (zh) 字符分割方法、装置及计算机可读存储介质
CN116612280A (zh) 车辆分割方法、装置、计算机设备和计算机可读存储介质
CN114511862B (zh) 表格识别方法、装置及电子设备
CN114170465A (zh) 基于注意力机制的3d点云分类方法、终端设备及存储介质
CN110349111B (zh) 一种包含二维码图像的矫正方法和装置
CN114692661A (zh) 二维码识别方法、存储介质和计算机
CN113298822A (zh) 点云数据的选取方法及选取装置、设备、存储介质

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