CN116228552B - 一种线条折点的确定方法、装置、设备及存储介质 - Google Patents
一种线条折点的确定方法、装置、设备及存储介质Info
- Publication number
- CN116228552B CN116228552B CN202211607072.3A CN202211607072A CN116228552B CN 116228552 B CN116228552 B CN 116228552B CN 202211607072 A CN202211607072 A CN 202211607072A CN 116228552 B CN116228552 B CN 116228552B
- Authority
- CN
- China
- Prior art keywords
- point
- points
- target
- merging
- sampling
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04845—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Image Processing (AREA)
- Image Generation (AREA)
- Image Analysis (AREA)
Abstract
本申请实施例公开了一种线条折点的确定方法、装置、设备及存储介质。该线条折点的确定方法根据预设采样频率采样手绘线条,得到第一采样点,根据相邻的第一采样点之间的距离,对第一采样点进行分组,针对每一个分组,根据分组内的第一采样点的位置信息合并第一采样点,得到第一目标点,根据第一目标点的曲率,确定手绘线条的折点。该线条折点的确定方法利用采样点之间的距离对采样点进行合并,实现了对采样点的平滑处理,如此在基于目标点的曲率确定手绘线条的折点时,可以避免因采样点之间的距离过小导致曲率波动较大进而造成折点的误判,如此提高了折点的准确性。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种线条折点的确定方法、装置、设备及存储介质。
背景技术
随着触摸屏的广泛应用,一些手绘软件或白板软件的应用也越来越广泛,例如可以通过手绘软件或白板软件手绘线条。在手绘线条时,由于手的不稳定,导致无法绘制真正的直线或光滑曲线,此时需要采用一定的手段调整手绘线条。
目前,主要是根据线条的弯折程度,在有明显转角的地方对线条进行划分,得到多个线段,然后逐段进行平滑或拟合处理。但由于对手绘线条出现的折点判断不准确,导致处理后的结果与用户实际想绘制的线条存在较大偏差。
申请内容
本申请实施例提供一种线条折点的确定方法、装置、设备及存储介质,可以准确确定手绘线条的折点。
第一方面,本申请实施例提供了一种线条折点的确定方法,包括:
根据预设采样频率采样手绘线条,得到第一采样点;
根据相邻的第一采样点之间的距离,对第一采样点进行分组;
针对每一个分组,根据分组内的第一采样点的位置信息合并第一采样点,得到第一目标点;
根据第一目标点的曲率,确定手绘线条的折点。
第二方面,本申请实施例提供了一种线条折点的确定装置,包括:
采样模块,用于根据预设采样频率采样手绘线条,得到第一采样点;
分组模块,用于根据相邻的第一采样点之间的距离,对第一采样点进行分组;
合并模块,用于针对每一个分组,根据分组内的第一采样点的位置信息合并第一采样点,得到第一目标点;
确定模块,用于根据第一目标点的曲率,确定手绘线条的折点。
第三方面,本申请实施例提供了一种电子设备,包括:
处理器;
存储器,用于存储计算机程序指令;
触控屏,用于接收并显示手绘线条;
当计算机程序指令被处理器执行时,实现如第一方面所述的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序指令,当计算机程序指令被处理器执行时实现如第一方面所述的方法。
本申请实施例提供的线条折点的确定方法、装置、设备及存储介质,根据预设采样频率采样手绘线条,得到第一采样点,根据相邻的第一采样点之间的距离,对第一采样点进行分组,针对每一个分组,根据分组内的第一采样点的位置信息合并第一采样点,得到第一目标点,根据第一目标点的曲率,确定手绘线条的折点。即本申请实施例利用采样点之间的距离对采样点进行合并,实现了对采样点的平滑处理,如此在基于目标点的曲率确定手绘线条的折点时,可以避免因采样点之间的距离过小导致曲率波动较大进而造成折点的误判,如此提高了折点的准确性。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种线条折点的确定方法的流程图;
图2为本申请实施例提供的另一种线条折点的确定方法的流程图;
图3为本申请实施例提供的一种手绘线条的示意图;
图4为本申请实施例提供的一种曲线和对应折点示意图;
图5为本申请实施例提供的一种折线和对应折点示意图;
图6为本申请实施例提供的一种线条折点的确定装置的结构图;
图7为本申请实施例提供的一种电子设备的结构图。
具体实施方式
下面将详细描述本申请的各个方面的特征和示例性实施例,为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本申请,并不被配置为限定本申请。对于本领域技术人员来说,本申请可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本申请的示例来提供对本申请更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
如上所述,在手绘线条时,由于手的不稳定,导致无法绘制真正的直线或光滑曲线,因此需要采用一定的手段调整手绘线条。
在调整手绘线条时,由于对手绘线条的折点判断不准确,导致调整后的结果与用户实际想要的结果存在较大偏差。
为了准确确定手绘线条的折点,保证调整后的结果与用户实际想要的结果一致,本申请实施例提供了一种线条折点的确定方法、装置、设备及存储介质。
下面结合具体的实施例对本申请实施例提供的线条折点的确定方法进行说明,本申请实施例提供的线条折点的确定方法可以应用于具备数据处理和触控功能的智能设备,例如可以应用于交互平板等交互设备。
图1为本申请实施例提供的一种线条折点的确定方法的流程图。如图1所示,该线条折点的确定方法可以包括如下步骤:
S110、根据预设采样频率采样手绘线条,得到第一采样点。
S120、根据相邻的第一采样点之间的距离,对第一采样点进行分组。
S130、针对每一个分组,根据分组内的第一采样点的位置信息合并第一采样点,得到第一目标点。
S140、根据第一目标点的曲率,确定手绘线条的折点。
本申请实施例根据预设采样频率采样手绘线条,得到第一采样点,根据相邻的第一采样点之间的距离,对第一采样点进行分组,针对每一个分组,根据分组内的第一采样点的位置信息合并第一采样点,得到第一目标点,根据第一目标点的曲率,确定手绘线条的折点。即本申请实施例利用采样点之间的距离对采样点进行合并,实现了对采样点的平滑处理,如此在基于目标点的曲率确定手绘线条的折点时,可以避免因采样点之间的距离过小导致曲率波动较大进而造成折点的误判,如此提高了折点的准确性。
下面对上述步骤进行详细说明,具体如下所示:
在S110中,预设采样频率的大小可以根据系统运行速度决定。
示例性地,可以在用户绘制手绘线条时,按照预设采样频率实时采样手绘线条,得到第一采样点,以及第一采样点的空间坐标。也可以在手绘线条绘制结束后,按照预设采样频率采样手绘线条,得到第一采样点,以及第一采样点的空间坐标。
示例性地,可以基于触控笔或手指等方式绘制手绘线条。
在S120中,相邻的第一采样点之间的距离可以是相邻的第一采样点之间的欧式距离,也可以称为L2距离。
应当理解,如果第一采样点之间的距离较小,在后续基于第一采样点之间的距离确定曲率时,导致曲率出现较大波动,容易引起误判,为了避免这种情况,本申请实施例基于相邻的第一采样点之间的距离,对第一采样点进行分组。
示例性地,可以通过以下方式对第一采样点进行分组:
根据相邻的第一采样点之间的距离,确定采样倍率;
根据采样倍率对第一采样点进行分组。
示例性地,m=int(r/R0)+1,其中,m为采样倍率,int()表示取整数部分,R0为阈值,R0的大小与触控屏的采样频率和分辨率等因素有关,例如如果采样频率较大,R0的取值应该偏小一些,如果分辨率较高,R0的取值应该偏大一些。实际应用时,还可以在此基础上进行微调,以更准确地确定手绘线条的折点。r为相邻的第一采样点之间的平均距离。
示例性地,如果m大于1,可以按照时间顺序,从首个第一采样点开始,每m个第一采样点分为一组,最后一组可能少于m个。如果m=1,即每个第一采样点为一组。
本申请实施例基于相邻采样点之间的距离,对采样点进行分组,使得后续可以基于各分组合并采样点,避免因采样点之间的距离过小导致曲率波动较大,进而引起折点的误判。
在S130中,针对每一个分组,合并该分组内的第一采样点,可以避免因相邻采样点之间的距离较小导致曲率波动较大,影响折点的判断。
示例性地,可以取每组内各第一采样点坐标的平均值,并将该平均值对应的点记为第一目标点。这里的位置信息可以是各第一采样点的空间坐标。
在S140中,示例性地,可以在采样到一定数量的第一采样点之后,或者预设时间间隔后,或者一笔结束后,触发曲率的确定过程,确定第一目标点的曲率。
示例性地,在S140之前,可以通过如下方式确定第一目标点的曲率:
针对每一个第一目标点,根据第一目标点之前的第二目标点和第三目标点的位置信息,以及第一目标点之后的第四目标点和第五目标点的位置信息,确定以第一目标点为切点的第一切向量;
根据预设的切向量转角公式,确定第一切向量到第二切向量的转角,第二切向量为与第一切向量相邻的切向量,第二切向量以第二目标点为切点,第二目标点与第一目标点相邻;
将转角和第一距离的比值,确定为第一目标点的曲率,第一距离为第一切向量的切点和第二切向量的切点之间的距离。
示例性地,第二目标点和第三目标点可以是位于第一目标点之前且与第一目标点依次相邻的点,例如第一目标点为第三个目标点,则第二目标点和第三目标点可以分别是第一个目标点和第二个目标点。
示例性地,如果第一目标点为第一个目标点,第二目标点和第三目标点也即第一目标点,如果第一目标点为第二个目标点,第二目标点和第三目标点可以同时为第一个目标点。
第四目标点和第五目标点可以是位于第一目标点之后且与第一目标点依次相邻的点,例如第一目标点为第二个目标点,第四目标点和第五目标点可以分别为第三个目标点和第四个目标点,如果第三个目标点和第四个目标点不存在,或者第四个目标点不存在,可以向前合并,例如第四个目标点不存在,可以将第三个目标点作为第四目标点和第五目标点。
示例性地,可以根据第二目标点和第三目标点的位置信息确定第一切向量的起点,根据第四目标点和第五目标点的位置信息确定第一切向量的终点。
示例性地,可以根据第二目标点和第三目标点的位置信息,确定第二目标点和第三目标点的中点,作为第一切向量的起点。根据第四目标点和第五目标点的位置信息,确定第四目标点和第五目标点的中点,作为第一切向量的终点。由此可以得到以第一目标点为切点的切向量。
第二切向量为以第二目标点为切点的切向量,第二目标点与第一目标点相邻,根据预设的切向量转角公式,可以确定第一切向量到第二切向量的转角。
示例性地,预设的切向量转角公式可以是如下形式:
θ=cos-1[v1*v2/(|v1|*|v2|)]
其中,θ为第一切向量到第二切向量的转角,v1表示第一切向量,v2表示第二切向量。
根据第一切向量到第二切向量的转角,以及两个切向量对应切点之间的距离,可以确定第一目标点的曲率。
示例性地,曲率=转角/两个切向量对应切点之间的弧长长度。为了简化计算,示例性地,两个切点之间的弧长长度可以近似为两个切点之间的欧式距离。
本申请实施例根据相邻目标点对应的切向量以及相邻目标点之间的距离,确定对应目标点的曲率,为后续的折点判断提供了依据。
第一目标点的曲率确定之后,即可根据第一目标点的曲率,确定手绘线条的折点。
示例性地,在第一目标点的曲率大于设定阈值的情况下,可以确定该第一目标点为手绘线条的折点,否则,可以确定该第一目标点不是手绘线条的折点。
折点确定之后,示例性地,可以基于折点对曲线进行分段处理。
应当理解,当某个目标点的曲率大于预设阈值时,其周围的目标点的曲率通常也会大于预设阈值,为了提高折点的准确性,可以对曲率大于预设阈值的目标点进行合并,以减少折点。其中,折点为曲率大于预设阈值的目标点。
基于此,在一些实施例中,上述S140可以包括以下步骤:
S1401、在曲率大于第一预设曲率的情况下,确定第六目标点和第七目标点之间的距离,第六目标点和第七目标点为曲率大于第一预设曲率且相邻的第一目标点;
S1402、在距离小于第一距离阈值的情况下,删除第六目标点和第七目标点中曲率较小的目标点,得到第三点序列;
S1403、根据第三点序列中各目标点的曲率确定手绘线条的折点。
下面对上述过程进行详细说明,具体如下所示:
在S1401中,示例性地,第一预设曲率与触控屏的分辨率和采样频率等因素有关,具体数值可以依据经验设定。
第六目标点和第七目标点可以是任意相邻且曲率大于第一预设曲率的目标点。示例性地,第六目标点和第七目标点之间的距离可以根据两个目标点之间的采样点确定,示例性地,可以确定两个目标点之间所有相邻采样点连线的折线长度总和,得到两个目标点之间的距离。相邻采样点连线的折线长度可以近似为相邻采样点之间的弧长长度。
在S1402中,第一距离阈值的大小与触控屏的尺寸、屏幕分辨率、手绘线条的总长度以及相邻采样点之间的平均距离等因素有关。示例性地,可以取手绘线条总长度的1/100和屏幕分辨率数值的1/100的较大者。示例性地,第一距离阈值也可以与特定的应用有关,例如如果需要跟踪细小笔迹时,第一距离阈值应该设置的偏小一些。
在相邻两点间的距离小于第一距离阈值时,示例性地,可以删除曲率较小的点,例如第六目标点和第七目标点中第七目标点的曲率较小,则可以将第七目标点删除。在某个目标点删除后,需要重新确定相邻两个目标点之间的距离,直至任意两个目标点之间的距离均大于或等于第一距离阈值,并将剩余的目标点记为第三点序列。
在S1403中,第三点序列中的各目标点即为候选折点,根据各目标点的曲率,可以确定目标折点,也即手绘线条的折点。
本申请实施例对大曲率点进行筛选,并在相邻两点间的距离小于第一距离阈值时,删除曲率较小的点,如此可以减少折点的数量,避免了这些折点对真正折点的影响,如此可以使最终确定的折点更准确。
示例性地,上述S1403可以包括以下步骤:
针对第三点序列中的每一个第八目标点,确定与第八目标点的距离小于或等于第二距离阈值的目标点的曲率均值;
根据第八目标点的曲率与曲率均值的比值,确定手绘线条的折点。
第八目标点为第三点序列中的任意目标点。示例性地,可以确定第八目标点的两侧与第八目标点在一定范围内的目标点,例如可以分别确定第八目标点的左侧与第八目标点的距离在S/6到S/2之间的目标点,以及第八目标点的右侧与第八目标点的距离在S/6到S/2之间的目标点,并基于左右两侧的目标点的曲率,得到曲率均值。其中,S为手绘线条的总长度。
根据第八目标点的曲率与该曲率均值的比值,可以确定手绘线条的折点。
例如如果第八目标点的曲率与该曲率均值的比值大于设定阈值,可以确定第八目标点为折点,否则,确定第八目标点不是折点;或者,
如果第八目标点的曲率与该曲率均值的比值与第八目标点的曲率的乘积,大于某阈值,可以确定第八目标点为折点,否则,确定第八目标点不是折点。
本申请实施例在滤除部分曲率大于第一预设曲率的折点后,基于剩余折点的曲率与曲率均值的比值进一步确定该折点是否为折点,减少了其他折点的干扰,提高了最终结果的准确性。
图2为本申请实施例提供的另一种线条折点的确定方法的流程图,如图2所示,该线条折点的确定方法可以包括以下步骤:
S210、根据预设采样频率采样手绘线条,得到第一采样点。
S220、根据相邻的第一采样点之间的距离,对第一采样点进行分组。
S230、针对每一个分组,合并分组内的第一采样点,得到第一合并点。
其中,第一合并点的位置信息是根据分组内各第一采样点的位置信息的均值确定的。
S240、确定相邻的第一合并点之间的距离。
S250、在距离小于或等于预设距离的情况下,剔除第一目标合并点,得到第一目标点。
其中,第一目标合并点为相邻的第一合并点中的任一个。
S260、根据第一目标点的曲率,确定手绘线条的折点。
其中,S210-S220、S260与图1中的S110-S120、S140的过程相同,具体请参见S110-S120、S140的描述,为简洁描述,此处不再赘述。
下面对图2中的其他步骤进行详细说明,具体如下所示:
在S230中,示例性地,可以将该分组内各第一采样点的坐标的均值对应的点记为第一合并点,并将各第一采样点的坐标的均值记为第一合并点的位置信息。如此,一个分组对应一个第一合并点。
在S240中,示例性地,相邻的第一合并点之间的距离可以是相邻的第一合并点之间的欧式距离。
在S250中,应当理解,如果相邻的两个合并点之间的距离较小,那么在基于该距离确定曲率时,容易导致曲率出现较大的波动,从而将其误判为折点,因此可以对这部分合并点进行合并。
示例性地,在相邻的两个合并点之间的距离小于或等于预设距离时,即认为两个合并点基本重合,此时可以将其中一个合并点删除。预设距离可以设置为平均距离的1/100,这里的平均距离即相邻的第一采样点之间的距离平均值。
本申请实施例在相邻的两个合并点之间的距离小于或等于预设距离时,删除其中一个合并点,如此可以避免因两个合并点距离过小,导致曲率波动较大,影响最终折点的判断。
应当理解,由于手的不稳定等原因,实际绘制的手绘线条可能存在锯齿点,但并非折点,为了降低锯齿点的影响,在一些实施例中,上述S250可以包括以下步骤:
在距离小于或等于预设距离的情况下,剔除第一目标合并点,得到第一点序列;
针对第一点序列的每一个合并点,根据合并点和第二合并点的连线与第二合并点和第三合并点的连线形成的第一角度,以及第二合并点和第三合并点的连线与第三合并点和第四合并点的连线形成的第二角度,确定第二合并点和第三合并点是否为锯齿点,第二合并点、第三合并点和第四合并点分别为第一点序列中位于合并点之后且依次相邻的合并点;
在确定第二合并点和第三合并点为锯齿点的情况下,合并第二合并点和第三合并点,得到第二点序列;
针对第二点序列的每一个合并点,根据第五合并点和第六合并点,对合并点进行滤波,得到第一目标点,第五合并点和第六合并点分别与合并点相邻。
示例性地,第一合并点包括A、B、C、D四个点,如果AB两点间的距离小于或等于预设距离,可以删除A点或B点,以删除A点为例,然后确定BC之间的距离,依次类推,直至遍历到最后一个点。
假定BC和CD之间的距离均大于预设距离,可以将B、C、D记为第一点序列,用于后续的计算。
示例性地,参考图3,以合并点A点为例,第二合并点、第三合并点和第四合并点可以分别是B点、C点和D点。第一角度即AB和BC形成的角度,第二角度即BC和CD形成的角度。
如果∠ABC和∠BCD均为锐角,可以确定B点和C点为锯齿点,在确定B点和C点为锯齿点的情况下,可以合并B点和C点,示例性地,可以用BC的中点取代B点和C点。然后从B点开始,分析B点之后的三个合并点的走势,依次类推,可以合并手绘线条上的所有锯齿点。
如果∠ABC和∠BCD至少有一个不是锐角,可以从B点开始,执行类似于A点的操作,即无需合并B点和C点。
需要说明的是,在分析后面三个合并点的走势时,不考虑新合并的点。例如对于B点,在分析B点之后的三个合并点的走势时,不考虑新生成的BC的中点。
本申请实施例对于第一点序列的每一个合并点,可以分析随后三个合并点的走势,并在第一角度和第二角度均为锐角的情况下,合并对应的锯齿点,如此可以避免锯齿点对折点的影响,提高了折点的准确性。
在一些实施例中,还可以对上述处理得到的点进行滤波,将滤波后的合并点记为第一目标点,如此实现了对第一目标点的平滑处理,提高了折点的准确性。
示例性地,可以针对第二点序列的每一个合并点,根据第五合并点和第六合并点,对合并点进行滤波,得到第一目标点。
示例性地,针对合并点(Xb,Yb),滤波后的结果Xnb=(Xa+2*Xb+Xc)/4,Ynb=(Ya+2*Yb+Yc)/4。其中,(Xnb,Ynb)为滤波后的合并点(Xb,Yb)的坐标,也即第一目标点的坐标,点(Xa,Ya)和点(Xc,Yc)分别为点(Xb,Yb)的前一个相邻的合并点和后一个相邻的合并点。
示例性地,参考图4-图5,图4为手绘线条为曲线时,对应的折点识别结果,图5为手绘线条为折线时,对应的折点识别结果。通过图4和图5可以看出,通过本申请实施例的方案,只要拐角处有明显折笔的痕迹即可准确识别出拐角,且不依赖于拐角的角度大小。
折点确定之后,即可根据折点划分手绘线条,为后续逐段处理如自动校正或平滑处理提供了基础,如此可以提高后续处理结果的准确性。
基于相同的发明构思,本申请实施例还提供了一种线条折点的确定装置,下面结合图6对本申请实施例提供的线条折点的确定装置进行详细说明。
图6为本申请实施例提供的一种线条折点的确定装置的结构图。
如图6所示,该线条折点的确定装置可以包括:
采样模块610,用于根据预设采样频率采样手绘线条,得到第一采样点;
分组模块620,用于根据相邻的第一采样点之间的距离,对第一采样点进行分组;
合并模块630,用于针对每一个分组,根据分组内的第一采样点的位置信息合并第一采样点,得到第一目标点;
确定模块640,用于根据第一目标点的曲率,确定手绘线条的折点。
本申请实施例根据预设采样频率采样手绘线条,得到第一采样点,根据相邻的第一采样点之间的距离,对第一采样点进行分组,针对每一个分组,根据分组内的第一采样点的位置信息合并第一采样点,得到第一目标点,根据第一目标点的曲率,确定手绘线条的折点。即本申请实施例利用采样点之间的距离对采样点进行合并,实现了对采样点的平滑处理,如此在基于目标点的曲率确定手绘线条的折点时,可以避免因采样点之间的距离过小导致曲率波动较大进而造成折点的误判,如此提高了折点的准确性。
在一些实施例中,合并模块630,包括:
合并单元,用于针对每一个分组,合并分组内的第一采样点,得到第一合并点,第一合并点的位置信息是根据分组内各第一采样点的位置信息的均值确定的;
确定单元,用于确定相邻的第一合并点之间的距离;
剔除单元,用于在距离小于或等于预设距离的情况下,剔除第一目标合并点,得到第一目标点,第一目标合并点为相邻的第一合并点中的任一个。
在一些实施例中,剔除单元,具体用于:
在距离小于或等于预设距离的情况下,剔除第一目标合并点,得到第一点序列;
针对第一点序列的每一个合并点,根据合并点和第二合并点的连线与第二合并点和第三合并点的连线形成的第一角度,以及第二合并点和第三合并点的连线与第三合并点和第四合并点的连线形成的第二角度,确定第二合并点和第三合并点是否为锯齿点,第二合并点、第三合并点和第四合并点分别为第一点序列中位于合并点之后且依次相邻的合并点;
在确定第二合并点和第三合并点为锯齿点的情况下,合并第二合并点和第三合并点,得到第二点序列;
针对第二点序列的每一个合并点,根据第五合并点和第六合并点,对合并点进行滤波,得到第一目标点,第五合并点和第六合并点分别与合并点相邻。
在一些实施例中,确定模块640,还用于在根据第一目标点的曲率,确定手绘线条的折点之前,针对每一个第一目标点,根据第一目标点之前的第二目标点和第三目标点的位置信息,以及第一目标点之后的第四目标点和第五目标点的位置信息,确定以第一目标点为切点的第一切向量;
根据预设的切向量转角公式,确定第一切向量到第二切向量的转角,第二切向量为与第一切向量相邻的切向量,第二切向量以第二目标点为切点,第二目标点与第一目标点相邻;
将转角和第一距离的比值,确定为第一目标点的曲率,第一距离为第一切向量的切点和第二切向量的切点之间的距离。
在一些实施例中,确定模块640,具体用于:
在曲率大于第一预设曲率的情况下,确定第六目标点和第七目标点之间的距离,第六目标点和第七目标点为曲率大于第一预设曲率且相邻的第一目标点;
在距离小于第一距离阈值的情况下,删除第六目标点和第七目标点中曲率较小的目标点,得到第三点序列;
根据第三点序列中各目标点的曲率确定手绘线条的折点。
在一些实施例中,确定模块640,具体用于:
针对第三点序列中的每一个第八目标点,确定与第八目标点的弧长长度小于或等于预设弧长长度的目标点的曲率均值;
根据第八目标点的曲率与曲率均值的比值,确定手绘线条的折点。
在一些实施例中,分组模块620,具体用于:
根据相邻的第一采样点之间的距离,确定采样倍率;
根据所述采样倍率对所述第一采样点进行分组。
图6所示装置中的各个模块具有实现图1-图5中各个步骤的功能并能达到相应的技术效果,为简洁描述,此处不再赘述。
基于相同的发明构思,本申请实施例还提供了一种电子设备,该电子设备例如可以是交互平板、平板电脑、笔记本电脑、掌上电脑等。下面结合图7对本申请实施例提供的电子设备进行详细说明。
如图7所示,该电子设备可以包括处理器710、用于存储计算机程序指令的存储器720以及触控屏730。
处理器710可以包括中央处理器(Central Processing Unit,CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
存储器720可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器720可以包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在一个实例中,存储器720可以包括可移除或不可移除(或固定)的介质,或者存储器720是非易失性固态存储器。在一个实例中,存储器720可以是只读存储器(Read Only Memory,ROM)。在一个实例中,该ROM可以是掩模编程的ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可改写ROM(EAROM)或闪存或者两个或更多个以上这些的组合。
触控屏730可以接收并显示用户的手绘线条,当然,用户还可以通过触控屏730实现其他功能,本申请实施例对此不进行限定。
处理器710通过读取并执行存储器720中存储的计算机程序指令,以实现图1-图5所示实施例中的方法,并达到图1-图5所示实施例执行其方法达到的相应技术效果,为简洁描述,在此不再赘述。
在一个示例中,该电子设备还可包括通信接口740和总线750。其中,如图7所示,处理器710、存储器720、触控屏730、通信接口740通过总线750连接并完成相互间的通信。
通信接口740,主要用于实现本申请实施例中各模块、装置和/或设备之间的通信。
总线750包括硬件、软件或两者,将电子设备的各部件彼此耦接在一起。举例来说而非限制,总线750可包括加速图形端(Accelerated Graphics Port,AGP)或其他图形总线、增强工业标准架构(Extended Industry Standard Architecture,EISA)总线、前端总线(Front Side Bus,FSB)、超传输(Hyper Transport,HT)互连、工业标准架构(IndustryStandard Architecture,ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线750可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
该电子设备在根据预设采样频率采样手绘线条,得到第一采样点后可以执行本申请实施例中的线条折点的确定方法,从而实现结合图1-图5描述的线条折点的确定方法以及图6描述的线条折点的确定装置。
另外,结合上述实施例中的线条折点的确定方法,本申请实施例可提供一种计算机存储介质来实现。该计算机存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种线条折点的确定方法。
需要明确的是,本申请并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体步骤作为示例。但是,本申请的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本申请的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本申请的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RadioFrequency,RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本申请中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本申请不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
上面参考根据本申请实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本申请实施例的各方面。应当理解,流程图和/或框图中的每个方框以及流程图和/或框图中各方框的组合可以由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机、或其它可编程数据处理装置的处理器,以产生一种机器,使得经由计算机或其它可编程数据处理装置的处理器执行的这些指令使能对流程图和/或框图的一个或多个方框中指定的功能/动作的实现。这种处理器可以是但不限于是通用处理器、专用处理器、特殊应用处理器或者现场可编程逻辑电路。还可理解,框图和/或流程图中的每个方框以及框图和/或流程图中的方框的组合,也可以由执行指定的功能或动作的专用硬件来实现,或可由专用硬件和计算机指令的组合来实现。
以上所述,仅为本申请的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。
Claims (9)
1.一种线条折点的确定方法,其特征在于,包括:
根据预设采样频率采样手绘线条,得到第一采样点;
根据相邻的第一采样点之间的距离,对所述第一采样点进行分组;
针对每一个分组,根据所述分组内的第一采样点的位置信息合并所述第一采样点,得到第一目标点;
根据所述第一目标点的曲率,确定所述手绘线条的折点;
所述根据相邻的第一采样点之间的距离,对所述第一采样点进行分组,包括:
根据所述相邻的第一采样点之间的距离,确定采样倍率;
根据所述采样倍率按照时间顺序对所述第一采样点进行分组。
2.根据权利要求1所述的方法,其特征在于,所述针对每一个分组,根据所述分组内的第一采样点的位置信息合并所述第一采样点,得到第一目标点,包括:
针对每一个分组,合并所述分组内的第一采样点,得到第一合并点,所述第一合并点的位置信息是根据所述分组内各第一采样点的位置信息的均值确定的;
确定相邻的第一合并点之间的距离;
在所述距离小于或等于预设距离的情况下,剔除第一目标合并点,得到第一目标点,所述第一目标合并点为所述相邻的第一合并点中的任一个。
3.根据权利要求2所述的方法,其特征在于,所述在所述距离小于或等于预设距离的情况下,剔除第一目标合并点,得到第一目标点,包括:
在所述距离小于或等于预设距离的情况下,剔除第一目标合并点,得到第一点序列;
针对所述第一点序列的每一个合并点,根据所述合并点和第二合并点的连线与所述第二合并点和第三合并点的连线形成的第一角度,以及所述第二合并点和第三合并点的连线与所述第三合并点和第四合并点的连线形成的第二角度,确定所述第二合并点和第三合并点是否为锯齿点,所述第二合并点、第三合并点和第四合并点分别为所述第一点序列中位于所述合并点之后且依次相邻的合并点;
在确定所述第二合并点和第三合并点为锯齿点的情况下,合并所述第二合并点和第三合并点,得到第二点序列;
针对所述第二点序列的每一个合并点,根据第五合并点和第六合并点,对所述合并点进行滤波,得到第一目标点,所述第五合并点和第六合并点分别与所述合并点相邻。
4.根据权利要求1所述的方法,其特征在于,所述根据所述第一目标点的曲率,确定所述手绘线条的折点之前,所述方法还包括:
针对每一个第一目标点,根据所述第一目标点之前的第二目标点和第三目标点的位置信息,以及所述第一目标点之后的第四目标点和第五目标点的位置信息,确定以所述第一目标点为切点的第一切向量;
根据预设的切向量转角公式,确定所述第一切向量到第二切向量的转角,所述第二切向量为与所述第一切向量相邻的切向量,所述第二切向量以第二目标点为切点,所述第二目标点与所述第一目标点相邻;
将所述转角和第一距离的比值,确定为所述第一目标点的曲率,所述第一距离为所述第一切向量的切点和所述第二切向量的切点之间的距离。
5.根据权利要求1所述的方法,其特征在于,所述根据所述第一目标点的曲率,确定所述手绘线条的折点,包括:
在所述曲率大于第一预设曲率的情况下,确定第六目标点和第七目标点之间的距离,所述第六目标点和第七目标点为曲率大于第一预设曲率且相邻的第一目标点;
在所述距离小于第一距离阈值的情况下,删除所述第六目标点和第七目标点中曲率较小的目标点,得到第三点序列;
根据所述第三点序列中各目标点的曲率确定所述手绘线条的折点。
6.根据权利要求5所述的方法,其特征在于,所述根据所述第三点序列中各目标点的曲率确定所述手绘线条的折点,包括:
针对所述第三点序列中的每一个第八目标点,确定与所述第八目标点的距离小于或等于第二距离阈值的目标点的曲率均值;
根据所述第八目标点的曲率与所述曲率均值的比值,确定所述手绘线条的折点。
7.一种线条折点的确定装置,其特征在于,包括:
采样模块,用于根据预设采样频率采样手绘线条,得到第一采样点;
分组模块,用于根据相邻的第一采样点之间的距离,对所述第一采样点进行分组;
合并模块,用于针对每一个分组,根据所述分组内的第一采样点的位置信息合并所述第一采样点,得到第一目标点;
确定模块,用于根据所述第一目标点的曲率,确定所述手绘线条的折点;
所述分组模块,具体用于:
根据所述相邻的第一采样点之间的距离,确定采样倍率;
根据所述采样倍率按照时间顺序对所述第一采样点进行分组。
8.一种电子设备,其特征在于,包括:
处理器;
存储器,用于存储计算机程序指令;
触控屏,用于接收并显示手绘线条;
当所述计算机程序指令被所述处理器执行时,实现如权利要求1-6中任一项所述的方法。
9.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,当所述计算机程序指令被处理器执行时,实现如权利要求1-6中任一项所述的方法。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202211607072.3A CN116228552B (zh) | 2022-12-14 | 2022-12-14 | 一种线条折点的确定方法、装置、设备及存储介质 |
| PCT/CN2023/094837 WO2024124800A1 (zh) | 2022-12-14 | 2023-05-17 | 一种线条折点的确定方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202211607072.3A CN116228552B (zh) | 2022-12-14 | 2022-12-14 | 一种线条折点的确定方法、装置、设备及存储介质 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN116228552A CN116228552A (zh) | 2023-06-06 |
| CN116228552B true CN116228552B (zh) | 2026-04-14 |
Family
ID=86573851
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202211607072.3A Active CN116228552B (zh) | 2022-12-14 | 2022-12-14 | 一种线条折点的确定方法、装置、设备及存储介质 |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN116228552B (zh) |
| WO (1) | WO2024124800A1 (zh) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103995944A (zh) * | 2014-06-10 | 2014-08-20 | 中国地质大学(武汉) | 一种空间异常极值无偏等值图绘制方法 |
| CN105160696A (zh) * | 2015-08-25 | 2015-12-16 | 杭州施强网络科技有限公司 | 一种计算机图像绘制优化方法 |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7263538B2 (en) * | 2002-04-19 | 2007-08-28 | City University Of Hong Kong | Curve tracing system |
| US7903876B2 (en) * | 2007-02-27 | 2011-03-08 | Seiko Epson Corporation | Distortion correction of a captured image |
| CN104424473A (zh) * | 2013-09-06 | 2015-03-18 | 北京三星通信技术研究有限公司 | 一种手绘草图识别和编辑的方法及装置 |
| CN106002491B (zh) * | 2016-05-25 | 2018-09-25 | 哈尔滨理工大学 | 基于空间光调制器的薄壁件加工误差测量装置的测量方法 |
| CN111913644B (zh) * | 2020-07-29 | 2022-06-24 | 北京大麦地信息技术有限公司 | 一种白板的线条绘制方法及装置、可读存储介质 |
| CN113888546B (zh) * | 2021-09-01 | 2025-01-24 | 浙江大华技术股份有限公司 | 手绘图形的规整方法、电子设备及存储介质 |
-
2022
- 2022-12-14 CN CN202211607072.3A patent/CN116228552B/zh active Active
-
2023
- 2023-05-17 WO PCT/CN2023/094837 patent/WO2024124800A1/zh not_active Ceased
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103995944A (zh) * | 2014-06-10 | 2014-08-20 | 中国地质大学(武汉) | 一种空间异常极值无偏等值图绘制方法 |
| CN105160696A (zh) * | 2015-08-25 | 2015-12-16 | 杭州施强网络科技有限公司 | 一种计算机图像绘制优化方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2024124800A1 (zh) | 2024-06-20 |
| CN116228552A (zh) | 2023-06-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8427440B2 (en) | Contact grouping and gesture recognition for surface computing | |
| EP2458528A2 (en) | Image processing apparatus and method, and program | |
| CN113934312B (zh) | 一种基于红外触摸屏的触摸物识别方法和终端设备 | |
| US20210319204A1 (en) | Fingerprint Matching Method And Apparatus, Electronic Equipment And Readable Storage Medium | |
| CN109886127B (zh) | 指纹识别方法及终端设备 | |
| US12586265B2 (en) | Line drawing method, line drawing apparatus, electronic device, and computer readable storage medium | |
| CN109165657A (zh) | 一种基于改进sift的图像特征检测方法及装置 | |
| US12613601B2 (en) | Touch detection method and apparatus, electronic device, and readable storage medium | |
| CN101354747B (zh) | 一种手写符号的识别方法及装置 | |
| CN113239817B (zh) | 指纹模板获取方法及相关装置 | |
| CN116228552B (zh) | 一种线条折点的确定方法、装置、设备及存储介质 | |
| CN116071429B (zh) | 一种被子图案轮廓识别方法、装置、电子设备及存储介质 | |
| CN110187806B (zh) | 指纹模板录入方法及相关装置 | |
| CN112699780A (zh) | 对象识别方法、装置、设备及存储介质 | |
| CN104267835A (zh) | 自适应手势识别方法 | |
| CN108416300A (zh) | 一种识别书写轨迹的方法、装置及终端设备 | |
| CN109324716B (zh) | 基于爬山算法的触控屏抗干扰方法、触控装置及移动终端 | |
| CN112882594B (zh) | 触控装置及定位方法、设备及介质 | |
| CN115620002A (zh) | 一种图像倾斜角度矫正方法、装置、设备、存储介质及产品 | |
| CN117831110A (zh) | 动态手势识别方法、装置、设备、存储介质及程序产品 | |
| JPH0729002A (ja) | 手書き図形認識装置 | |
| CN109213322B (zh) | 一种虚拟现实中手势识别的方法及系统 | |
| CN116129445A (zh) | 一种笔迹识别方法、装置、设备及存储介质 | |
| CN120190144B (zh) | 一种煤矸石处理方法、系统、电子设备及存储介质 | |
| WO2020093329A1 (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 | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |