CN113538623A - 确定目标图像的方法、装置、电子设备及存储介质 - Google Patents

确定目标图像的方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN113538623A
CN113538623A CN202110818887.5A CN202110818887A CN113538623A CN 113538623 A CN113538623 A CN 113538623A CN 202110818887 A CN202110818887 A CN 202110818887A CN 113538623 A CN113538623 A CN 113538623A
Authority
CN
China
Prior art keywords
processed
point information
target
information
determining
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
CN202110818887.5A
Other languages
English (en)
Other versions
CN113538623B (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.)
Beijing Jingdong Zhenshi Information Technology Co Ltd
Original Assignee
Beijing Jingdong Zhenshi Information Technology Co Ltd
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 Beijing Jingdong Zhenshi Information Technology Co Ltd filed Critical Beijing Jingdong Zhenshi Information Technology Co Ltd
Priority to CN202110818887.5A priority Critical patent/CN113538623B/zh
Priority claimed from CN202110818887.5A external-priority patent/CN113538623B/zh
Publication of CN113538623A publication Critical patent/CN113538623A/zh
Application granted granted Critical
Publication of CN113538623B publication Critical patent/CN113538623B/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
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction 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/0488Interaction 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
    • 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/206Drawing of charts or graphs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/80Creating or modifying a manually drawn or painted image using a manual input device, e.g. mouse, light pen, direction keys on keyboard

Abstract

本发明实施例公开了一种确定目标图像的方法、装置、电子设备及存储介质,该方法包括:确定目标区域,并确定目标区域的顶点信息;获取各待选择折线图的待选择拐点信息,并根据顶点信息和至少一个待选择拐点信息,确定待处理拐点信息;针对各待处理拐点信息,获取与当前待处理拐点信息和下一待处理拐点信息对应的控制点信息,并根据当前待处理拐点信息、下一待处理拐点信息以及控制点信息,得到待处理数组;通过目标点确定模型对当前待处理数组进行处理,得到至少一个目标点信息,并根据至少一个目标点信息和顶点信息,确定位于目标区域中的目标折线图。本发明实施例的技术方案,提高了确定目标图像的便捷性和图像的可复用性的效果。

Description

确定目标图像的方法、装置、电子设备及存储介质
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种确定目标图像的方法、装置、电子设备及存储介质。
背景技术
在基于计算机描绘图形时,可以采用canvas画布来进行图像描绘,例如,通过canvas画布来描绘柱状图、折线图、饼图等,对于规则的图形来说,可以通过计算坐标的形式来确定用户框选的图形。
在基于canvas画折线图时,多是基于贝塞尔曲线来描绘的,但是在进行框选时,计算机无法确定选择的折线图是哪一个或者多个,导致无法从描绘的图形中确定出目标图形。
发明人在基于上述方式实施本技术方案时,发现存在如下问题:
现有技术给出了如何使用贝塞尔曲线描绘光滑的折线图,但是并没有给出在用户进行框选时,确定出哪些折线是用户所需的,导致存无法确定框区域中的折线图,进而引起折线图无法复用的问题。
发明内容
本发明提供一种确定目标图像的方法、装置、电子设备及存储介质,以实现在检测到框选区域后,可以快速的确定位于框选区域中的目标图像,提高了确定目标图像的便捷性和图像的可复用性的效果。
第一方面,本发明实施例提供了一种确定目标图像的方法,该方法包括:
确定目标区域,并确定所述目标区域的顶点信息;
获取各待选择折线图的至少一个待选择拐点信息,并根据所述顶点信息和所述至少一个待选择拐点信息,确定至少一个待处理拐点信息;
针对各待处理拐点信息,获取与当前待处理拐点信息和下一待处理拐点信息对应的控制点信息,并根据所述当前待处理拐点信息、下一待处理拐点信息以及控制点信息,得到待处理数组;
通过预先构建的目标点确定模型对当前待处理数组进行处理,得到与当前待处理数组相对应的至少一个目标点信息,并根据所述至少一个目标点信息和所述顶点信息,确定位于所述目标区域中的目标折线图;其中,所述目标折线图是由至少一个目标点构成的。
第二方面,本发明实施例还提供了一种确定目标图像的装置,该装置包括:
目标区域确定模块,用于确定目标区域,并确定所述目标区域的顶点信息;
待处理拐点信息确定模块,用于获取各待选择折线图的至少一个待选择拐点信息,并根据所述顶点信息和所述至少一个待选择拐点信息,确定至少一个待处理拐点信息;
待处理数组确定模块,用于针对各待处理拐点信息,获取与当前待处理拐点信息和下一待处理拐点信息对应的控制点信息,并根据所述当前待处理拐点信息、下一待处理拐点信息以及控制点信息,得到待处理数组;
目标折线图确定模块,用于通过预先构建的目标点确定模型对当前待处理数组进行处理,得到与当前待处理数组相对应的至少一个目标点信息,并根据所述至少一个目标点信息和所述顶点信息,确定位于所述目标区域中的目标折线图;其中,所述目标折线图是由至少一个目标点构成的。
第三方面,本发明实施例还提供了一种电子设备,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明实施例任一所述的确定目标图像的方法。
第四方面,本发明实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如本发明实施例任一所述的确定目标图像的方法。
根据本发明实施例的技术方案,确定目标区域及其顶点信息后,能够获取各待选择折线图的至少一个待选择拐点信息;根据顶点信息和至少一个待选择拐点信息,确定出至少一个待处理拐点信息;针对各待处理拐点信息,获取与当前待处理拐点信息和下一待处理拐点信息对应的控制点信息,并根据当前待处理拐点信息、下一待处理拐点信息以及控制点信息,得到待处理数组;通过预先构建的目标点确定模型对当前待处理数组进行处理,得到与当前待处理数组相对应的至少一个目标点信息,可以根据至少一个目标点确定出某个折线图中的一部分贝塞尔曲线,根据贝塞尔曲线上的各个目标点和顶点信息之间的位置关系,确定贝塞尔曲线所属的折线是否在目标区域中,从而确定出位于目标区域中的目标折线,实现了可以自动、便捷的确定位于目标区域中目标折线,进而调取相应的目标折线,进一步实现了目标折线复用的技术效果。
附图说明
为了更加清楚地说明本发明示例性实施例的技术方案,下面对描述实施例中所需要用到的附图做一简单介绍。显然,所介绍的附图只是本发明所要描述的一部分实施例的附图,而不是全部的附图,对于本领域普通技术人员,在不付出创造性劳动的前提下,还可以根据这些附图得到其他的附图。
图1为本发明实施例一所提供的一种确定目标图像的方法的流程示意图;
图2为本发明实施例二所提供的一种确定目标图像的方法的流程示意图;
图3为本发明实施例三所提供的一种确定目标图像的方法的流程示意图;
图4为本发明实施例四所提供的一种确定目标图像的方法的流程图;
图5为本发明实施例五所提供的一种确定目标图像的装置的结构框图;
图6为本发明实施例六所提供的一种电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一所提供的一种确定目标图像的方法的流程示意图,本实施例可适用于若计算机上显示的图像是基于贝塞尔曲线绘制的折线图像,且确定框选的目标区域后,可以确定位于目标区域中折线图,进而调取折线图的情形,,该方法可以由确定目标图像的装置来执行,该装置可以通过软件和/或硬件的形式实现,该硬件可以是电子设备,如移动终端、PC端或服务器等。
对本发明进行进一步详细说明前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释:
1)canvas画布:HTML5中的一个元素,在canvas的自带属性中,width以及height分别用于控制画布的宽度和高度,开发者可以使用JavaScript在canvas画布上绘制一系列的图形。
2)贝塞尔曲线:依据四个点坐标绘制出的光滑曲线,也是一种应用于二维图形应用程序中的数学曲线,一般矢量图形软件或位图软件通过贝塞尔曲线来提高所生成的曲线的精确性。在本实施例中,计算机中所显示的折线图是基于贝塞尔曲线来描绘。需要说明的是,一个折线图可以包括多个贝塞尔曲线。
3)拐点:又称反曲点,在数学上指改变曲线方向的点,方向可以是向上或向下,也可以理解为连续曲线的凹弧与凸弧的分界点。
为了清楚地了解本发明实施例的技术方案,可以先对应用场景进行示例性说明。用户基于贝塞尔曲线能够在canvas画布中绘制出多种图像,如,折线图或柱状图等,这些图像可以有一个,也可以有多个。在绘制折线图的过程计算机可以记录每个折线图中的拐点信息。由于在绘制图像的过程中都是有先后顺序信息的,因此记录的拐点信息也是按照拐点的顺序来记录的。还需要说明的是,一个折线图可以由多个拐点构成,并且该折线是基于贝塞尔曲线绘制的,因此相邻两个拐点之间为一段贝塞尔曲线。可以理解为:一段贝塞尔曲线的起始点和终止点为折线中相邻的两个拐点,根据拐点的顺序信息,可以将顺序在前的拐点作为相应贝塞尔曲线的起始点,顺序在后的拐点作为相应贝塞尔曲线的终止点。
如图1所示,该方法具体包括如下步骤:
S110、确定目标区域,并确定目标区域的顶点信息。
其中,目标区域可以为基于用户的触发操作确定的区域。目标区域的形状包括但不限于多边形和圆形,本公开实施例在此不作具体的限定。对应的,目标区域为多边形时,顶点信息可以是多边形相邻两条边相交所得到的公共端点的信息。顶点信息可以以所处像素点的值表示,也可以在canvas画布中建立二维平面坐标系后,以坐标的形式表示。确定目标区域的原因在于:选择所绘制图像中对应的内容,如,内容可以是图像中的折线图或柱状图等。
在本实施例中,确定目标区域及目标区域顶点信息的方式至少包括以下两种:第一种方式为通过在与确定目标区域所对应的页面中编辑的信息确定目标区域;第二种方式为基于预设函数确定出的区域。
1)基于用户的输入或触控操作,在canvas画布中确定出目标区域,同时,系统通过接收的输入或触控信息确定出目标区域的顶点信息。例如,可以在描绘图像时预先在画布中构建二维平面坐标系,在图像绘制完成后,用户可以在与描绘的图像所对应的显示界面中编辑相应的内容,如,编辑的内容可以是所要获取某个区域中的区域边界点的坐标信息,优选的,区域的顶点坐标信息。示例性的,如果获取到的是用户输入的四个坐标值,则可以根据四个坐标值确定出一个由四条边包围的四边形区域,并将四边形区域作为目标区域,此时,用户输入的坐标值即可作为目标区域的顶点信息;或者,用户在电容式触摸屏上通过手指触控的方式依次点击四个点,四个点依次自动连接所构成的四边形即是目标区域,此时,四个点的像素值可以作为目标区域的顶点信息。也可以是,用户在电容式触摸屏上通过手指触控的方式依次点击2个点,根据两个点的像素点坐标构成一个四边形区域,并作为目标区域。
2)由于canvas画布不仅支持用户通过控制画笔进行图像绘制,还能够直接利用函数进行图像绘制,因此,在canvas画布中预先建立坐标系,系统接收到外部输入的函数后,即可绘制出对应的函数图像,当该图像恰好构成多边形、且含有全部或部分折线图的内容时,即可作为目标区域,进一步的,系统通过计算函数顶点即可得到坐标形式的顶点信息。
本领域技术人员应当理解,具体的确定目标区域及目标区域顶点信息的方式根据实际情况进行选择,本公开实施例在此不作具体的限定。
S120、获取各待选择折线图的至少一个待选择拐点信息,并根据顶点信息和至少一个待选择拐点信息,确定至少一个待处理拐点信息。
其中,每个折线图都是由一条或多条贝塞尔曲线构成的,折线图上相邻的两个拐点又作为一条贝塞尔曲线两端的端点,用户基于贝塞尔曲线绘制折线图的过程中,系统能够获取各折线图的拐点信息,如,各拐点的像素点位置或坐标,这些信息即可作为待选择拐点信息。同时,系统通过预先设置的判定规则在待选择拐点中确定出待处理拐点。例如,将与顶点纵坐标相差5个单位长度的拐点判定为待处理拐点,根据顶点坐标以及待选择拐点坐标,即可得到待处理拐点坐标。需要说明的是,所确定的待处理拐点既可以在目标区域内,也可以在目标区域外。
S130、针对各待处理拐点信息,获取与当前待处理拐点信息和下一待处理拐点信息对应的控制点信息,并根据当前待处理拐点信息、下一待处理拐点信息以及控制点信息,得到待处理数组。
其中,用户在绘制折线图的过程中,折线图相邻两个拐点又作为一条贝塞尔曲线的起点和终点,因此,系统以特定的方式对每个拐点的信息进行记录,如,记录每个拐点在二维平面坐标系中的坐标值,并按照绘制顺序为每个拐点打上对应的标识,当获取到当前待处理拐点信息时,即可根据标识确定出下一待处理拐点信息。同时,由于贝塞尔曲线的绘制又依据四个点的坐标来确定,因此,在每两个相邻的待处理拐点之间还存在两个控制点,可以将两个控制点的坐标作为控制点信息,进一步的,系统基于上述各点的信息,能够得到由像素点位置或坐标值构成的待处理数组。
也就是说,在绘制折线图的过程中,是基于两个相邻拐点信息和相邻两个拐点之间的控制点信息来绘制的。
示例性的,根据顶点信息和待选择拐点信息可以确定出一个待处理拐点的坐标[x1,y1],同时,根据系统对用户所绘制折线图中拐点的记录情况,可以确定出该拐点的下一个待处理拐点的坐标[x2,y2],此时,[x1,y1]以及[x2,y2]即可分别看做一段贝塞尔曲线的起点和终点。确定出曲线起点和终点的坐标后,将曲线一阶导数连续作为预设条件,利用曲线拟合的方式即可确定出贝塞尔曲线的两个控制点,并得到控制点的坐标[cx1,cy1]以及[cx2,cy2]。得到控制点坐标后,系统能够基于曲线起点坐标(当前待处理拐点信息)、终点坐标(下一待处理拐点信息)以及两个控制点的坐标生成待处理数组。
S140、通过预先构建的目标点确定模型对当前待处理数组进行处理,得到与当前待处理数组相对应的至少一个目标点信息,并根据至少一个目标点信息和顶点信息,确定位于目标区域中的目标折线图。
其中,目标点确定模型可以是在系统中预先建立的、将待处理数组中的数据作为输入的算法模型,针对于基于贝塞尔曲线绘制的图像,通过该模型可以确定出图像中各个点的像素点位置或坐标,并将这些像素点位置或坐标作为对应的目标点信息。目标折线图是canvas画布中原有折线图的全部或部分内容,可以与目标区域的边界相交,也可以完全处于目标区域中。
本实施例的技术方案,确定目标区域及其顶点信息后,能够获取各待选择折线图的至少一个待选择拐点信息;根据顶点信息和至少一个待选择拐点信息,确定出至少一个待处理拐点信息;针对各待处理拐点信息,获取与当前待处理拐点信息和下一待处理拐点信息对应的控制点信息,并根据当前待处理拐点信息、下一待处理拐点信息以及控制点信息,得到待处理数组;通过预先构建的目标点确定模型对当前待处理数组进行处理,得到与当前待处理数组相对应的至少一个目标点信息,可以根据至少一个目标点确定出某个折线图中的一部分贝塞尔曲线,根据贝塞尔曲线上的各个目标点和顶点信息之间的位置关系,确定贝塞尔曲线所属的折线是否在目标区域中,从而确定出位于目标区域中的目标折线,实现了可以自动、便捷的确定位于目标区域中目标折线,进而调取相应的目标折线,进一步实现了目标折线复用的技术效果。
实施例二
图2为本发明实施例二所提供的一种确定目标图像的方法的流程示意图,在前述实施例的基础上,基于用户触发操作起始点信息和终止点信息确定目标区域,使用户能够以便捷的方式在canvas画布中对折线图进行选取。同时,在确定待处理数组后,通过调整目标点确定模型中的贝塞尔参数,提高了所确定的目标点信息的准确度。其具体的实施方式可以参见本实施例技术方案。其中,与上述实施例相同或者相应的技术术语在此不再赘述。
如图2所示,该方法具体包括如下步骤:
S210、基于用户触发操作的起始点信息和终止点信息,确定目标区域;根据起始点信息和终止点信息,确定目标区域的顶点信息。
在本实施例中,用户可以框选的方式确定出目标区域,系统基于用户框选操作的起始点和终止点即可确定出目标区域,目标区域边界线相交产生的顶点的坐标即可作为顶点信息。
示例性的,在含有多条折线图的canvas画布中,用户按下鼠标即触发框选操作,该时刻光标所选定的点即是起始点,如,坐标为[x1,y1],同时,系统启动对应的监听任务,在用户滑动鼠标完成框选后,系统即可通过监听任务确定鼠标松开事件,并将该时刻光标对应的点作为终止点,如,坐标为[x2,y2]。因为起始点和终止点即是长方形/正方形选框对角线的两端,因此可以得到另一条对角线两端的坐标[x1,y2]以及[x2,y1],进一步的,根据上述四个点即可确定出目标区域,同时将四个顶点的坐标[x1,y1],[x1,y2],[x2,y1],[x2,y2]作为目标区域的顶点信息。
需要说明的是,用户执行触发操作时,除了鼠标还能够利用手写笔等多种输入设备,在系统中部署了电容式触摸屏时,用户还能够基于手指执行触发操作,本公开实施例对此不作具体的限定。
S220、获取各待选择折线图的至少一个待选择拐点信息,并根据顶点信息的横坐标和至少一个待选择拐点信息的横坐标,确定至少一个待处理拐点信息;或,根据顶点信息的纵坐标和至少一个待选择拐点信息的纵坐标,确定至少一个待处理拐点信息。
在本实施例中,确定顶点信息可以是预先建立二维平面坐标系后,确定各待选择拐点信息的坐标;或者是,图像是显示在计算机的显示屏幕上的,可以确定各个待处理拐点在显示屏幕上所对应的像素点信息,并将像素点中的横向值作为横坐标,像素点中的纵向值作为纵坐标。在从待选择拐点信息中确定待处理拐点,可以以各待选择拐点的横坐标和顶点信息横坐标为基准来确定。也可以是,以各待选择拐点信息的纵坐标和顶点信息的纵坐标为基准来确定。可选的,可以横坐标为基准,确定出顶点信息中横坐标最大值与横坐标最小值,使待选择拐点的横坐标与所确定的横坐标最大值与横坐标最小值进行比对,同时,将预设条件设置为待选择拐点横坐标小于横坐标最大值且大于横坐标最小值,即可在待选择拐点中确定出一个或多个待处理拐点。
示例性的,目标区域左右两条边在x轴对应的值分为是0和7,系统获取的待选择拐点坐标分别为[-1,3],[3,0],[9,2]以及[13,0],当预设条件设置为“横坐标小于横坐标最小值以及大于横坐标最大值的待选择拐点,且与两条边距离最近”时,坐标为[-1,3]以及[9,2]的待选择拐点满足要求,系统即可将上述两个点确定为待处理拐点。
可选的,根据顶点信息的横坐标和至少一个待选择拐点信息的横坐标,确定至少一个待处理拐点信息,包括:
根据各顶点信息的横坐标,确定横坐标最大值和横坐标最小值;根据至少一个待选择拐点的横坐标,确定小于横坐标最小值且差值的绝对值最小的最小待处理横坐标,以及大于横坐标最大值且差值的绝对值最小的最大待处理横坐标;根据至少一个待选择拐点的横坐标、最小待处理横坐标和最大待处理横坐标,确定至少一个待处理拐点信息。
其中,用户在canvas画布中框选结束,系统确定出起始点和终止点后,两点中横坐标小的即为横坐标最小值,横坐标大的即为横坐标最大值。最小待处理横坐标小于横坐标最小值且差值绝对值最小,即表明在坐标系x轴指向右侧时,最小待处理横坐标就是位于目标区域左侧边界外、且距离最近的待选择拐点的横坐标,同理,最大待处理横坐标就是位于目标区域右侧边界外、且距离最近的待选择拐点的横坐标。确定出对应的横坐标后,即可确定该点位待处理拐点。通过这种方式,在用户框选完毕后,能够使系统自动确定出与目标区域的边界最接近的拐点,保证用户所选择的内容的准确性。
示例性的,目标区域左右两条边在x轴对应的值分为是0和9,一个待选择拐点P0的坐标信息为[1,1],在x=0的左侧存在坐标为[-2,0]以及[-1,1]的两个待选择拐点,在x=9的右侧存在坐标为[10,0]以及[11,1]的两个待选择拐点,根据本实施例中的选择方式,由于在x=0的左侧,[-1,1]与P0差值绝对值最小,在x=9的右侧,[10,0]与P0差值绝对值最小,因此可以确定出[-1,1]以及[10,0]中的横坐标分别对应了最小待处理横坐标以及最大待处理横坐标。根据两拐点的横坐标,确定位于这两个横坐标范围之内的横坐标所对应的拐点,并将此时得到的拐点作为待处理拐点,即处于两点之间的待选择拐点即可作为待处理拐点。其中,与P0相邻的待处理拐点P3可以为一条贝塞尔曲线的起点和终点。
相应的,根据顶点信息的纵坐标和至少一个待选择拐点信息的纵坐标,确定至少一个待处理拐点信息,包括:
根据各顶点信息的纵坐标,确定纵坐标最大值和纵坐标最小值;根据至少一个待选择拐点的纵坐标,确定小于纵坐标最小值且差值绝对值最小的最小待处理纵坐标,以及大于纵坐标最大值且差值绝对值最小的最大待处理纵坐标;根据至少一个待选择拐点的纵坐标、最小待处理纵坐标和最大待处理纵坐标,确定至少一个待处理拐点信息。
在本实施例中,基于纵坐标确定出待处理拐点信息的方式与基于横坐标确定出待处理拐点信息的方式相同,在此不再赘述。
S230、针对各待处理拐点信息,根据预先标记的拐点顺序信息,确定当前待处理拐点信息的下一待处理拐点信息;调取与当前待处理拐点信息和下一待处理拐点信息对应的至少两个控制点信息;基于至少两个控制点信息、当前待处理拐点信息和下一待处理拐点信息,确定待处理数组。
其中,为了使所确定的待处理数组与各折线图保持一一对应的关系,防止错乱,在画折线图时,可以根据每个拐点的顺序信息进行拐点标记。拐点顺序信息可以是在基于贝塞尔曲线绘制折线图的过程中,出现转折的先后顺序。根据绘制顺序可以对各个拐点进行顺序编号标记。。因此,在确定出一个待处理拐点后,即可根据拐点顺序信息确定出下一待处理拐点。同时,为了确定两个拐点之间的贝塞尔曲线,可以调取与两个待处理拐点信息相对应的两个控制点信息。基于上述两个拐点的坐标以及两个控制点的坐标,即可确定出由四个点的坐标所构成的待处理数组。
需要说明的是,四个坐标点所构成的待处理数组可以理解为与某个折线图中的一段贝塞尔曲线相对应。
示例性的,一条折线图上由3个待处理拐点,且,预先标记的拐点顺序信息为[x1,y1]、[x2,y2]以及[x3,y3]。此时,[x1,y1]以及[x2,y2]即可分别看做第一段贝塞尔曲线的起点和终点,相应的,[x2,y2]以及[x3,y3]可以分别看做第二段贝塞尔曲线的起点和终点。为了确定[x1,y1]以及[x2,y2]之间的贝塞尔曲线,此时可以调取与两个拐点相对应的控制点,可选的,两个控制点分别为,[cx1,cy1]以及[cx2,cy2],基于上述四个点可以得到该折线图上的第一段贝塞尔曲线。重复执行该步骤,可以得到该折线图上的另一段贝塞尔曲线。可以将构成一段贝塞尔曲线的四个点作为一个待处理数组,即一个折线图可以包括至少一个待处理数组。
S240、通过调整目标点确定模型中的贝塞尔参数对当前待处理数组中的两个待处理拐点信息和至少两个控制点信息进行处理,得到至少一个目标点信息,并根据至少一个目标点信息和顶点信息,确定位于目标区域中的目标折线图。
在实际应用中,系统可以将贝塞尔曲线三次方函数B(t)=P0(1-t)3+3P1t(1-t)2+3P2t2(1-t)+P3t3作为目标点确定模型,其中,t为贝塞尔参数,P0为一条贝塞尔曲线的起始点,即当前待处理拐点,对应坐标[x1,y1],P3为该条贝塞尔曲线的终点,即下一待处理拐点,对应坐标[x2,y2],P1和P2为该条贝塞尔曲线的控制点,分别对应坐标[cx1,cy1]以及[cx2,cy2]。也即是说,目标点确定模型中包括贝塞尔参数、相邻的两个拐点信息和相邻两个拐点之间的控制点信息。通过目标点确定模型,不仅能够确定出一条贝塞尔曲线中的目标点,还能够确定出多条贝塞尔曲线中的目标点,当折线图由多条贝塞尔曲线构成时,需要重复执行上述步骤以确定出每条贝塞尔曲线中的目标点,根据所确定的目标点信息和顶点信息,即可得到对应的目标折线图。
本实施例的技术方案,基于用户触发操作起始点信息和终止点信息确定目标区域,使用户能够以便捷的方式在canvas画布中对折线图进行选取。同时,在确定待处理数组后,通过调整目标点确定模型中的贝塞尔参数,提高了所确定的目标点信息的准确度,进而提高确定位于目标区域中折线图的准确度。
实施例三
图3为本发明实施例三所提供的一种确定目标图像的方法的流程示意图,在前述实施例的基础上,根据预先设置的贝塞尔参数调整精度和贝塞尔参数调整范围,对贝塞尔参数进行调整,进而得到至少一个目标点信息,提高了最终所确定的折线图的精确度。基于不同情况下的目标点信息对贝塞尔曲线所处位置进行差异化判定处理,进一步提高了确定目标贝塞尔曲线及对应折线图的准确性和灵活性。得到目标折线图后对其进行效果处理,不仅能够将选中的样式进行另存、导出或数据查询,还能够对目标折线图进行打标,便于其他用户直接选择该目标折线图。其具体的实施方式可以参见本实施例技术方案。其中,与上述实施例相同或者相应的技术术语在此不再赘述。
如图3所示,该方法具体包括如下步骤:
S310、确定目标区域,并确定目标区域的顶点信息。
S320、获取各待选择折线图的至少一个待选择拐点信息,并根据顶点信息和至少一个待选择拐点信息,确定至少一个待处理拐点信息。
S330、针对各待处理拐点信息,获取与当前待处理拐点信息和下一待处理拐点信息对应的控制点信息,并根据当前待处理拐点信息、下一待处理拐点信息以及控制点信息,得到待处理数组。
S340、根据预先设置的贝塞尔参数调整精度和贝塞尔参数调整范围,调整目标点确定模型中的贝塞尔参数对当前待处理数组中的两个待处理拐点信息和至少两个控制点信息进行处理,得到至少一个目标点信息。
其中,将贝塞尔曲线三次方函数作为目标点确定模型时,为了提高所确定的目标点信息的精准度,通过调整贝塞尔参数t的步长和取值范围,可以确定t能够取哪些值。例如,设置t的取值范围为[0,1],设置调整步长为0.001,当t在预设范围内根据0.001的步长依次递增时,可以取到1000个值,对应的,在基于调整贝塞尔参数确定目标点时,可以得到1000个目标点信息,也就是说,贝塞尔参数t的调整次数与所得到的目标点的数量相一致。结合一条贝塞尔曲线的起点、终点、两个控制点的坐标信息以及贝塞尔参数,即可确定出与该条贝塞尔曲线对应的目标点的坐标信息。
可选的,至少一个目标点信息包括一个,调整目标点确定模型中的贝塞尔参数对当前待处理数组中的两个待处理拐点信息和至少两个控制点信息进行处理,得到至少一个目标点信息,包括:
依次调整目标点确定模型中的贝塞尔参数对当前待处理数组中的两个待处理拐点信息和至少两个控制点进行处理,以在得到目标点信息时,基于目标点信息和顶点信息,确定位于目标区域中的目标折线图。
其中,依次调整贝塞尔参数的方式可以理解为,当t在调整范围内取一个值时,确定出对应的目标点信息,根据目标点信息和顶点信息,判定该目标点对应的贝塞尔曲线是否处于目标区域内,判定结束后,再根据t的调整步长改变t的取值,确定出下一目标点信息,判定与下一目标点对应的贝塞尔曲线是否处于目标区域内,重复执行上述过程直到t取到调整范围内最大值为止。
可选的,至少一个目标点信息包括至少两个,调整目标点确定模型中的贝塞尔参数对当前待处理数组中的两个待处理拐点信息和至少两个控制点信息进行处理,得到至少一个目标点信息,包括:
通过遍历目标点确定模型中的贝塞尔参数对当前待处理数组中的两个待处理拐点信息和至少两个控制点信息进行处理,得到至少两个目标点信息。
其中,遍历贝塞尔参数的过程可以理解为,根据贝塞尔参数的取值范围和调整步长,确定出t能够取到的所有的值,由于t的调整次数与所得到的目标点的数量相一致,因此可以得到多个与t每个取值一一对应的目标点信息。进一步的,基于所得到的目标点信息和顶点信息,判定与目标点对应的贝塞尔曲线是否处于目标区域内。
S350、根据至少一个目标点信息和顶点信息,确定位于目标区域中的目标折线图。
可选的,根据至少一个目标点信息和顶点信息,确定位于目标区域中的目标折线图,包括:
若根据至少一个目标点信息和顶点信息,确定至少一个目标点信息对应的目标点位于目标区域,则至少一个目标点构成的目标贝塞尔曲线位于目标区域中。
其中,目标折线图中包括至少一个贝塞尔曲线。当目标点的横坐标处于起始点和终止点对应的横坐标范围以内,且纵坐标处于起始点和终止点对应的纵坐标的范围以内,即表明该目标点位于长方形/正方形样式的目标区域内,因此,目标点构成的目标贝塞尔曲线也位于目标区域中。
在实际应用过程中,可能存在目标点落在目标区域边界上的情况,若出现此种情形,可以采用如下方式确定目标点对应的目标贝塞尔曲线是否位于目标区域中。
方式一、若至少一个目标点信息中存在一个待处理目标点信息的横坐标或纵坐标,与顶点信息的横坐标或纵坐标重合,且确定待处理目标点信息与当前待处理数组所属折线的最后一个待处理拐点信息相一致,则确定至少一个目标点信息构成的目标贝塞尔曲线位于目标区域中。
其中,目标折线图中包括至少一个贝塞尔曲线。当存在一个目标点的横坐标或纵坐标与顶点的横坐标或纵坐标重合,即可将该目标点作为待处理目标点。系统需要将待处理目标点信息与待处理拐点信息进行进一步的比对,当确定出该目标点是当前待处理数组所属折线中最后一个拐点时,即证明该拐点对应的贝塞尔曲线位于长方形/正方形样式的目标区域内。可以理解为,一个折线图包括至少一待处理数组,在确定其中一个目标点与目标区域的边框重合,可以确定该目标点是否为为该折线图的最后一个拐点,若是,则可以理解为该折线图均位于目标区域中,
方式二、若至少一个目标点信息中存在一个待处理目标点信息的横坐标或纵坐标与顶点信息的横坐标或纵坐标重合,且确定待处理目标点信息与当前待处理数组所属折线的最后一个待处理拐点信息不一致,且待处理目标点信息与所述目标区域的边缘点信息之间的误差在预设范围之内,则确定至少一个目标点信息构成的目标贝塞尔曲线位于目标区域中。
其中,当存在一个目标点的横坐标或纵坐标与顶点的横坐标或纵坐标重合,即可将该目标点作为待处理目标点。系统通过将待处理目标点信息与待处理拐点信息进行进一步的比对,当确定出该目标点不是待处理拐点,且对应的坐标值处在边缘点误差预设范围时,即证明该目标点对应的贝塞尔曲线位于长方形/正方形样式的目标区域内。
可以理解为,一个折线图包括至少一待处理数组,在确定其中一个目标点与目标区域的边框坐标重合,可以确定该目标点是否为该折线图的最后一个拐点,若否,则可以确定待处理目标点与折线图的最后一个拐点或区域边缘信息之间的误差是否在预设范围之内,若是,则可以理解为待处理目标点在目标区域中,同时,可以确定所属的折线图在目标区域中。其中,误差范围可以是一个像素点,也可以是一个坐标差值。
需要说明的是,如果待处理目标点信息与目标区域边缘点信息之间的误差不在预设范围之内,且,该待处理目标点也不为所属折线的最后一个拐点,则确定待处理目标点所属的折线不位于目标区域中。也即是说,当目标点不是待处理拐点,且对应的坐标值与边缘坐标误差或最后一个拐点坐标的误差,超过了预设误差范围,系统可判定与该目标点对应的贝塞尔曲线处在目标区域外,表明该贝塞尔曲线所属的折线图没有被用户框选。基于不同情况下的目标点信息对贝塞尔曲线所处位置进行差异化判定处理,进一步提高了确定目标贝塞尔曲线及对应折线图的准确性和灵活性。
S360、对目标折线图进行效果处理。
其中,系统根据用户的框选操作确定出目标折线图后,即可对选中的样式进行另存、导出或数据查询处理。需要说明的是,系统能够将所确定的目标折线图作为canvas画布中的元素进行打标处理,即在HTML5数据中添加对应的标签,便于其他用户直接对该元素进行选择,无需重复上述操作。
本实施例的技术方案,根据预先设置的贝塞尔参数调整精度和贝塞尔参数调整范围,对贝塞尔参数进行调整,进而得到至少一个目标点信息,提高了最终所确定的折线图的精确度。基于不同情况下的目标点信息对贝塞尔曲线所处位置进行差异化判定处理,进一步提高了确定目标贝塞尔曲线及对应折线图的准确性和灵活性。得到目标折线图后对其进行效果处理,不仅能够将选中的样式进行另存、导出或数据查询,还能够对目标折线图进行打标,便于其他用户直接选择该目标折线图。
实施例四
作为上述实施例的一可选实施例,图4为本发明实施例四所提供的一种确定目标图像的方法的流程图。为了清楚的介绍本实施例技术方案,可以以用户通过框选操作在canvas画布中选取基于贝塞尔曲线绘制的光滑折线图为例来介绍,但是不局限于上述场景,可以适用于各种需要确定目标图像的场景中,如,在以贝塞尔曲线三次方函数描绘的折线图中确定目标图像的场景。
参见图4,在canvas画布中已经存在折线图的情况下,用户能够通过点击鼠标触发对折线图的框选操作,在用户框选完毕后,系统能够确定出选框的四个顶点的顶点信息,如,顶点信息为顶点在二维平面坐标系中的坐标,四个顶点的坐标分别以[minX,minY]、[maxX,minY]、[minX,maxY]、[maxX,maxY]来表示,将其作为顶点信息。同时,依次获取折线图上的折线,由于每条折线图都是由多段贝塞尔曲线构成的,每条折线的坐标组成一个数组,记为dots,数组内的值为:
[x1,y1],[cx1,cy1],[cx2,cy2],[x2,y2]…[xn,yn],[cxn,cyn],[cxn+1,cyn+1],[xn+1,yn+1]
其中,[x1,y1],[x2,y2]…[xn,yn],[xn+1,yn+1]为折线的拐点,组成数组turnDots。第一段贝塞尔曲线的起点为[x1,y1],终点为[x2,y2],控制点为[cx1,cy1],[cx2,cy2],对应的,第n段贝塞尔曲线的起点为[xn,yn],终点为[xn+1,yn+1],控制点为[cxn,cyn],[cxn+1,cyn+1]。在本实施例中,还可以将每一段贝塞尔曲线对应的四个点的坐标作为一个待处理数组,对应的,n段贝塞尔曲线即构成n个待处理数组。
继续参见图4,在依次获取折线图上每条贝塞尔曲线的过程中,先获取该条折线上距离minX最近的左侧的拐点的坐标[minCoordX,minCoordY],以及距离maxX最近的右侧的拐点的坐标[maxCoordX,maxCoordY]。当折线上第一个拐点的坐标是[minCoordX,minCoordY],最后一个拐点的坐标是[maxCoordX,maxCoordY]时,计算出minCoordX到minX的距离minLeftSpace,以及maxCoordX到maxX的距离minRightSpace;遍历拐点数组turnDots的每一个点,当该点横坐标比minX小时,即表明该拐点位于选框左侧,需要继续计算该拐点的横坐标与minX的差,并与minLeftSpace进行比较,若小于minLeftSpace,则更新minLeftSpace的值,并记录当前点在turnDots中的位置minI;当该拐点的横坐标比maxX大时,即表明该拐点位于选框右侧,需要继续计算该拐点的横坐标与maxX的差,并与minRightSpace的值进行比较,若小于minRightSpace,则更新minRightSpace,并记录当前点在turnDots中的位置maxI;遍历结束后,在数组turnDots中,以minI为下标的点即为距离选框左侧最近的左侧拐点[minCoordX,minCoordY],以maxI为下标的点即为距离选框最近的右侧拐点[maxCoordX,maxCoordY]。
继续参见图4,一个折线图可以由一条或多条贝塞尔曲线构成,折线图中相邻的两个拐点即是一条贝塞尔曲线的起始点和终止点,也即是说,从[minCoordX,minCoordY]作为起始点开始,到下一个拐点之间的一段即一段贝塞尔曲线,依次类推,直到找到终止点[maxCoordX,maxCoordY]为止。其中,从起始点到终止点之间可能存在多条贝塞尔曲线。对于每一段贝塞尔曲线,除了曲线起始点[x1,y1]以及曲线终止点[x2,y2],还需要依据其对应的两个控制点才能完成绘制,因此需要确定出每条贝塞尔曲线对应的两个控制点坐标[cx1,cy1]、[cx2,cy2]。在得到每条曲线的起始点、终止点以及两个控制点的坐标后,依据贝塞尔曲线三次方函数B(t)=P0(1-t)3+3P1t(1-t)2+3P2t2(1-t)+P3t2确定贝塞尔曲线上的目标点,其中,t∈[0,1],为贝塞尔参数,从0到1以一定精度依次递增,精度越高误差越小,但为了保证计算效率,发明人发现,使t以0.001的精度递增能够同时兼顾精度与计算效率。
继续参见图4,在确定出贝塞尔曲线上的点之后,需要判断曲线与选框是否相交,由于选框四个顶点的坐标分别为[minX,minY]、[maxX,minY]、[minX,maxY]、[maxX,maxY],因此,所确定的点的坐标(x,y)满足以下任意一个条件时,即证明该贝塞尔曲线与选框相交:
x与minX相同时,y需要介于minY与maxY之间,证明点[x,y]在线段[minX,minY]与[minX,maxY]上;
x与maxX相同时,y需要介于minY与maxY之间,证明点[x,y]在线段[maxX,minY]与[maxX,maxY]上;
y与minY相同时,x需要介于minX与maxX之间,证明点[x,y]在线段[minX,minY]与[maxX,minY]上;
y与maxY相同时,x需要介于minX与maxX之间,证明点[x,y]在线段[minX,maxY]与[maxX,maxY]上。
需要说明的是,由于JavaScript代码的局限性,在获取曲线上各点的像素坐标时会进行取整处理以保证确定结果的准确性,在实际应用过程中,在判断点是否与选框相交时保留了一个像素点的误差。
继续参见图4,当曲线上的点满足上述条件后,则证明dots数组中的点组成的折线图与选框相交,不需要再计算下一段贝塞尔曲线,只需计算出剩余折线图即可。对应的,如果判定没有相交,则需要继续计算下一段贝塞尔曲线。系统确定出被选框选择的折线图后,能够对其进行选中样式处理以及数据查询等操作。
上述技术方案的有益效果为:实现了可以自动、便捷的确定位于目标区域中目标折线,进而调取相应的目标折线,进一步实现了目标折线复用的技术效果。
实施例五
图5为本发明实施例五所提供的一种确定目标图像的装置的结构框图,可执行本发明任意实施例所提供的确定目标图像的方法,具备执行方法相应的功能模块和有益效果。如图5所示,该装置具体包括:目标区域确定模块510、待处理拐点信息确定模块520、待处理数组确定模块530以及目标折线图确定模块540。
目标区域确定模块510,用于确定目标区域,并确定所述目标区域的顶点信息。
待处理拐点信息确定模块520,用于获取各待选择折线图的至少一个待选择拐点信息,并根据所述顶点信息和所述至少一个待选择拐点信息,确定至少一个待处理拐点信息。
待处理数组确定模块530,用于针对各待处理拐点信息,获取与当前待处理拐点信息和下一待处理拐点信息对应的控制点信息,并根据所述当前待处理拐点信息、下一待处理拐点信息以及控制点信息,得到待处理数组。
目标折线图确定模块540,用于通过预先构建的目标点确定模型对当前待处理数组进行处理,得到与当前待处理数组相对应的至少一个目标点信息,并根据所述至少一个目标点信息和所述顶点信息,确定位于所述目标区域中的目标折线图;其中,所述目标折线图是由至少一个目标点构成的。
在上述各技术方案的基础上,目标区域确定模块510包括目标区域确定单元以及顶点信息确定单元。
目标区域确定单元,用于基于用户触发操作的起始点信息和终止点信息,确定目标区域。
顶点信息确定单元,用于根据所述起始点信息和所述终止点信息,确定所述目标区域的顶点信息。
可选的,待处理拐点信息确定模块520,还用于根据所述顶点信息的横坐标和所述至少一个待选择拐点信息的横坐标,确定至少一个待处理拐点信息;或,根据所述顶点信息的纵坐标和所述至少一个待选择拐点信息的纵坐标,确定所述至少一个待处理拐点信息。
可选的,待处理拐点信息确定模块520,还用于根据各顶点信息的横坐标,确定横坐标最大值和横坐标最小值;根据所述至少一个待选择拐点的横坐标,确定小于所述横坐标最小值且差值的绝对值最小的最小待处理横坐标,以及大于所述横坐标最大值且差值的绝对值最小的最大待处理横坐标;根据所述至少一个待选择拐点的横坐标、所述最小待处理横坐标和所述最大待处理横坐标,确定至少一个待处理拐点信息;相应的,所述根据所述顶点信息的纵坐标和所述至少一个待选择拐点信息的纵坐标,确定所述至少一个待处理拐点信息,包括:根据各顶点信息的纵坐标,确定纵坐标最大值和纵坐标最小值;根据所述至少一个待选择拐点的纵坐标,确定小于所述纵坐标最小值且差值绝对值最小的最小待处理纵坐标,以及大于所述纵坐标最大值且差值绝对值最小的最大待处理纵坐标;根据所述至少一个待选择拐点的纵坐标、所述最小待处理纵坐标和所述最大待处理纵坐标,确定至少一个待处理拐点信息。
在上述各技术方案的基础上,待处理数组确定模块530包括待处理拐点信息确定单元、信息调取单元以及待处理数组确定单元。
待处理拐点信息确定单元,用于根据预先标记的拐点顺序信息,确定当前待处理拐点信息的下一待处理拐点信息。
信息调取单元,用于调取与所述当前待处理拐点信息和所述下一待处理拐点信息对应的至少两个控制点信息。
待处理数组确定单元,用于基于所述至少两个控制点信息、当前待处理拐点信息和所述下一待处理拐点信息,确定所述待处理数组。
在上述各技术方案的基础上,目标折线图确定模块540包括目标点信息确定单元以及目标折线图确定单元。
目标点信息确定单元,用于通过调整所述目标点确定模型中的贝塞尔参数对所述当前待处理数组中的两个待处理拐点信息和至少两个控制点信息进行处理,得到至少一个目标点信息;其中,所述目标点确定模型是根据贝塞尔参数、相邻的两个拐点信息和相邻两个拐点之间的控制点信息确定的。
可选的,目标点信息确定单元,还用于根据预先设置的贝塞尔参数调整精度和贝塞尔参数调整范围,调整所述目标点确定模型中的贝塞尔参数对所述当前待处理数组中的两个待处理拐点信息和至少两个控制点信息进行处理,得到至少一个目标点信息。
可选的,目标点信息确定单元,在所述至少一个目标点信息包括一个时,还用于依次调整所述目标点确定模型中的贝塞尔参数对所述当前待处理数组中的两个待处理拐点信息和至少两个控制点进行处理,以在得到目标点信息时,基于所述目标点信息和所述顶点信息,确定位于所述目标区域中的目标折线图。
可选的,目标点信息确定单元,在所述至少一个目标点信息包括至少两个时,还用于通过遍历所述目标点确定模型中的贝塞尔参数对当前待处理数组中的两个待处理拐点信息和至少两个控制点信息进行处理,得到至少两个目标点信息,其中,所述至少两个目标点信息的数量与所述贝塞尔参数的取值数量相同。
目标折线图确定单元,用于若根据所述至少一个目标点信息和顶点信息,确定所述至少一个目标点信息对应的目标点位于所述目标区域,则所述至少一个目标点构成的目标贝塞尔曲线位于所述目标区域中;其中,所述目标折线图中包括至少一个贝塞尔曲线。
可选的,目标折线图确定单元,还用于若所述至少一个目标点信息中存在一个待处理目标点信息的横坐标或纵坐标,与所述顶点信息的横坐标或纵坐标重合,且确定所述待处理目标点信息与当前待处理数组所属折线的最后一个待处理拐点信息相一致,则确定所述至少一个目标点信息构成的目标贝塞尔曲线位于所述目标区域中;其中,所述目标折线图中包括至少一个贝塞尔曲线。
可选的,目标折线图确定单元,还用于若所述至少一个目标点信息中存在一个待处理目标点信息的横坐标或纵坐标与所述顶点信息的横坐标或纵坐标重合,且确定所述待处理目标点信息与当前待处理数组所属折线的最后一个待处理拐点信息不一致,且待处理目标点信息与所述目标区域的边缘点信息之间的误差在预设范围之内,则确定所述至少一个目标点信息构成的目标贝塞尔曲线不位于所述目标区域中。
可选的,目标折线图确定单元,还用于如果待处理目标点信息与所述目标区域的边缘点信息之间的误差不在预设范围之内,则确定所述待处理目标点所属的折线不位于所述目标区域中。
可选的,目标折线图确定模块540,还用于对所述目标折线图进行效果处理。
本实施例所提供的技术方案,确定目标区域及其顶点信息后,能够获取各待选择折线图的至少一个待选择拐点信息;根据顶点信息和至少一个待选择拐点信息,确定出至少一个待处理拐点信息;针对各待处理拐点信息,获取与当前待处理拐点信息和下一待处理拐点信息对应的控制点信息,并根据当前待处理拐点信息、下一待处理拐点信息以及控制点信息,得到待处理数组;通过预先构建的目标点确定模型对当前待处理数组进行处理,得到与当前待处理数组相对应的至少一个目标点信息,可以根据至少一个目标点确定出某个折线图中的一部分贝塞尔曲线,根据贝塞尔曲线上的各个目标点和顶点信息之间的位置关系,确定贝塞尔曲线所属的折线是否在目标区域中,从而确定出位于目标区域中的目标折线,实现了可以自动、便捷的确定位于目标区域中目标折线,进而调取相应的目标折线,进一步实现了目标折线复用的技术效果。
本发明实施例所提供的确定目标图像的装置可执行本发明任意实施例所提供的确定目标图像的方法,具备执行方法相应的功能模块和有益效果。
值得注意的是,上述装置所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明实施例的保护范围。
实施例六
图6为本发明实施例六所提供的一种电子设备的结构示意图。图6示出了适于用来实现本发明实施例实施方式的示例性电子设备60的框图。图6显示的电子设备60仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图6所示,电子设备60以通用计算设备的形式表现。电子设备60的组件可以包括但不限于:一个或者多个处理器或者处理单元601,系统存储器602,连接不同系统组件(包括系统存储器602和处理单元601)的总线603。
总线603表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
电子设备60典型地包括多种计算机系统可读介质。这些介质可以是任何能够被电子设备60访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器602可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)604和/或高速缓存存储器605。电子设备60可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统606可以用于读写不可移动的、非易失性磁介质(图6未显示,通常称为“硬盘驱动器”)。尽管图6中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线603相连。存储器602可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块607的程序/实用工具608,可以存储在例如存储器602中,这样的程序模块607包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块607通常执行本发明所描述的实施例中的功能和/或方法。
电子设备60也可以与一个或多个外部设备609(例如键盘、指向设备、显示器610等)通信,还可与一个或者多个使得用户能与该电子设备60交互的设备通信,和/或与使得该电子设备60能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口611进行。并且,电子设备60还可以通过网络适配器612与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器612通过总线603与电子设备60的其它模块通信。应当明白,尽管图6中未示出,可以结合电子设备60使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元601通过运行存储在系统存储器602中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的确定目标图像的方法。
实施例七
本发明实施例七还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行确定目标图像的方法。
该方法包括:
确定目标区域,并确定所述目标区域的顶点信息;
获取各待选择折线图的至少一个待选择拐点信息,并根据所述顶点信息和所述至少一个待选择拐点信息,确定至少一个待处理拐点信息;
针对各待处理拐点信息,获取与当前待处理拐点信息和下一待处理拐点信息对应的控制点信息,并根据所述当前待处理拐点信息、下一待处理拐点信息以及控制点信息,得到待处理数组;
通过预先构建的目标点确定模型对当前待处理数组进行处理,得到与当前待处理数组相对应的至少一个目标点信息,并根据所述至少一个目标点信息和所述顶点信息,确定位于所述目标区域中的目标折线图;其中,所述目标折线图是由至少一个目标点构成的。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明实施例操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言——诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (17)

1.一种确定目标图像的方法,其特征在于,包括:
确定目标区域,并确定所述目标区域的顶点信息;
获取各待选择折线图的至少一个待选择拐点信息,并根据所述顶点信息和所述至少一个待选择拐点信息,确定至少一个待处理拐点信息;
针对各待处理拐点信息,获取与当前待处理拐点信息和下一待处理拐点信息对应的控制点信息,并根据所述当前待处理拐点信息、下一待处理拐点信息以及控制点信息,得到待处理数组;
通过预先构建的目标点确定模型对当前待处理数组进行处理,得到与当前待处理数组相对应的至少一个目标点信息,并根据所述至少一个目标点信息和所述顶点信息,确定位于所述目标区域中的目标折线图;其中,所述目标折线图是由至少一个目标点构成的。
2.根据权利要求1所述的方法,其特征在于,所述确定目标区域,并确定所述目标区域的顶点信息,包括:
基于用户触发操作的起始点信息和终止点信息,确定目标区域;
根据所述起始点信息和所述终止点信息,确定所述目标区域的顶点信息。
3.根据权利要求1所述的方法,其特征在于,所述根据所述顶点信息和所述至少一个待选择拐点信息,确定至少一个待处理拐点信息,包括:
根据所述顶点信息的横坐标和所述至少一个待选择拐点信息的横坐标,确定至少一个待处理拐点信息;或,
根据所述顶点信息的纵坐标和所述至少一个待选择拐点信息的纵坐标,确定所述至少一个待处理拐点信息。
4.根据权利要求3所述的方法,其特征在于,所述根据所述顶点信息的横坐标和所述至少一个待选择拐点信息的横坐标,确定至少一个待处理拐点信息,包括:
根据各顶点信息的横坐标,确定横坐标最大值和横坐标最小值;
根据所述至少一个待选择拐点的横坐标,确定小于所述横坐标最小值且差值的绝对值最小的最小待处理横坐标,以及大于所述横坐标最大值且差值的绝对值最小的最大待处理横坐标;
根据所述至少一个待选择拐点的横坐标、所述最小待处理横坐标和所述最大待处理横坐标,确定至少一个待处理拐点信息;
相应的,所述根据所述顶点信息的纵坐标和所述至少一个待选择拐点信息的纵坐标,确定所述至少一个待处理拐点信息,包括:
根据各顶点信息的纵坐标,确定纵坐标最大值和纵坐标最小值;
根据所述至少一个待选择拐点的纵坐标,确定小于所述纵坐标最小值且差值绝对值最小的最小待处理纵坐标,以及大于所述纵坐标最大值且差值绝对值最小的最大待处理纵坐标;
根据所述至少一个待选择拐点的纵坐标、所述最小待处理纵坐标和所述最大待处理纵坐标,确定至少一个待处理拐点信息。
5.根据权利要求1所述的方法,其特征在于,所述获取与当前待处理拐点信息和下一待处理拐点信息对应的控制点信息,并根据所述当前待处理拐点信息、下一待处理拐点信息以及控制点信息,得到待处理数组,包括:
根据预先标记的拐点顺序信息,确定当前待处理拐点信息的下一待处理拐点信息;
调取与所述当前待处理拐点信息和所述下一待处理拐点信息对应的至少两个控制点信息;
基于所述至少两个控制点信息、当前待处理拐点信息和所述下一待处理拐点信息,确定所述待处理数组。
6.根据权利要求1所述的方法,其特征在于,所述通过预先构建的目标点确定模型对当前待处理数组进行处理,得到与当前待处理数组相对应的至少一个目标点信息,包括:
通过调整所述目标点确定模型中的贝塞尔参数对所述当前待处理数组中的两个待处理拐点信息和至少两个控制点信息进行处理,得到至少一个目标点信息;
其中,所述目标点确定模型是根据贝塞尔参数、相邻的两个拐点信息和相邻两个拐点之间的控制点信息确定的。
7.根据权利要求6所述的方法,其特征在于,所述通过调整所述目标点确定模型中的贝塞尔参数对所述当前待处理数组中的两个待处理拐点信息和至少两个控制点信息进行处理,得到至少一个目标点信息,包括:
根据预先设置的贝塞尔参数调整精度和贝塞尔参数调整范围,调整所述目标点确定模型中的贝塞尔参数对所述当前待处理数组中的两个待处理拐点信息和至少两个控制点信息进行处理,得到至少一个目标点信息。
8.根据权利要求7所述的方法,其特征在于,所述至少一个目标点信息包括一个,所述调整所述目标点确定模型中的贝塞尔参数对所述当前待处理数组中的两个待处理拐点信息和至少两个控制点信息进行处理,得到至少一个目标点信息,包括:
依次调整所述目标点确定模型中的贝塞尔参数对所述当前待处理数组中的两个待处理拐点信息和至少两个控制点进行处理,以在得到目标点信息时,基于所述目标点信息和所述顶点信息,确定位于所述目标区域中的目标折线图。
9.根据权利要求7所述的方法,其特征在于,所述至少一个目标点信息包括至少两个,所述调整所述目标点确定模型中的贝塞尔参数对所述当前待处理数组中的两个待处理拐点信息和至少两个控制点信息进行处理,得到至少一个目标点信息,包括:
通过遍历所述目标点确定模型中的贝塞尔参数对当前待处理数组中的两个待处理拐点信息和至少两个控制点信息进行处理,得到至少两个目标点信息,其中,所述至少两个目标点信息的数量与所述贝塞尔参数的取值数量相同。
10.根据权利要求1所述的方法,其特征在于,所述根据所述至少一个目标点信息和所述顶点信息,确定位于所述目标区域中的目标折线图,包括:
若根据所述至少一个目标点信息和顶点信息,确定所述至少一个目标点信息对应的目标点位于所述目标区域,则所述至少一个目标点构成的目标贝塞尔曲线位于所述目标区域中;其中,所述目标折线图中包括至少一个贝塞尔曲线。
11.根据权利要求1所述的方法,其特征在于,所述根据所述至少一个目标点信息和所述顶点信息,确定位于所述目标区域中的目标折线图,包括:
若所述至少一个目标点信息中存在一个待处理目标点信息的横坐标或纵坐标,与所述顶点信息的横坐标或纵坐标重合,且确定所述待处理目标点信息与当前待处理数组所属折线的最后一个待处理拐点信息相一致,则确定所述至少一个目标点信息构成的目标贝塞尔曲线位于所述目标区域中;其中,所述目标折线图中包括至少一个贝塞尔曲线。
12.根据权利要求1所述的方法,其特征在于,所述根据所述至少一个目标点信息和所述顶点信息,确定位于所述目标区域中的目标折线图,包括:
若所述至少一个目标点信息中存在一个待处理目标点信息的横坐标或纵坐标与所述顶点信息的横坐标或纵坐标重合,且确定所述待处理目标点信息与当前待处理数组所属折线的最后一个待处理拐点信息不一致,则确定待处理目标点信息,与所述目标区域的边缘点信息和/或所属折线的最后一个待处理拐点信息之间的误差;
当所述误差在预设范围之内,则确定所述至少一个目标点信息构成的目标贝塞尔曲线位于所述目标区域中。
13.根据权利要求12所述的方法,其特征在于,还包括:
如果所述误差不在预设范围之内,则确定所述待处理目标点所属的折线不位于所述目标区域中。
14.根据权利要求1所述的方法,其特征在于,在确定位于所述目标区域中的目标折线图之后,还包括:
对所述目标折线图进行效果处理。
15.一种确定目标图像的装置,其特征在于,包括:
目标区域确定模块,用于确定目标区域,并确定所述目标区域的顶点信息;
待处理拐点信息确定模块,用于获取各待选择折线图的至少一个待选择拐点信息,并根据所述顶点信息和所述至少一个待选择拐点信息,确定至少一个待处理拐点信息;
待处理数组确定模块,用于针对各待处理拐点信息,获取与当前待处理拐点信息和下一待处理拐点信息对应的控制点信息,并根据所述当前待处理拐点信息、下一待处理拐点信息以及控制点信息,得到待处理数组;
目标折线图确定模块,用于通过预先构建的目标点确定模型对当前待处理数组进行处理,得到与当前待处理数组相对应的至少一个目标点信息,并根据所述至少一个目标点信息和所述顶点信息,确定位于所述目标区域中的目标折线图;其中,所述目标折线图是由至少一个目标点构成的。
16.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-14中任一所述的确定目标图像的方法。
17.一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-14中任一所述的确定目标图像的方法。
CN202110818887.5A 2021-07-20 确定目标图像的方法、装置、电子设备及存储介质 Active CN113538623B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110818887.5A CN113538623B (zh) 2021-07-20 确定目标图像的方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110818887.5A CN113538623B (zh) 2021-07-20 确定目标图像的方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN113538623A true CN113538623A (zh) 2021-10-22
CN113538623B CN113538623B (zh) 2024-05-17

Family

ID=

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114564106A (zh) * 2022-02-25 2022-05-31 北京字跳网络技术有限公司 交互指示线的确定方法、装置、电子设备及存储介质
CN116973563A (zh) * 2023-09-22 2023-10-31 宁波奥丞生物科技有限公司 一种基于正交锁相放大的免疫荧光层析测定方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011028632A (ja) * 2009-07-28 2011-02-10 Ricoh Co Ltd 画像処理装置、画像処理方法、プログラム及び記録媒体
EP3715792A1 (en) * 2019-03-27 2020-09-30 Baidu Online Network Technology (Beijing) Co., Ltd. Method and device for drawing intersection
CN112634309A (zh) * 2020-11-30 2021-04-09 上海联影医疗科技股份有限公司 图像处理方法、装置、电子设备及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011028632A (ja) * 2009-07-28 2011-02-10 Ricoh Co Ltd 画像処理装置、画像処理方法、プログラム及び記録媒体
EP3715792A1 (en) * 2019-03-27 2020-09-30 Baidu Online Network Technology (Beijing) Co., Ltd. Method and device for drawing intersection
CN112634309A (zh) * 2020-11-30 2021-04-09 上海联影医疗科技股份有限公司 图像处理方法、装置、电子设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
窦洪娟;陆耀;: "基于边缘拐点的医学图像配准", 生命科学仪器, no. 05 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114564106A (zh) * 2022-02-25 2022-05-31 北京字跳网络技术有限公司 交互指示线的确定方法、装置、电子设备及存储介质
CN114564106B (zh) * 2022-02-25 2023-11-28 北京字跳网络技术有限公司 交互指示线的确定方法、装置、电子设备及存储介质
CN116973563A (zh) * 2023-09-22 2023-10-31 宁波奥丞生物科技有限公司 一种基于正交锁相放大的免疫荧光层析测定方法及装置
CN116973563B (zh) * 2023-09-22 2023-12-19 宁波奥丞生物科技有限公司 一种基于正交锁相放大的免疫荧光层析测定方法及装置

Similar Documents

Publication Publication Date Title
Wu et al. ViSizer: a visualization resizing framework
CA2818362C (en) System and method for scaling vector-based graphic designs
CN110427601B (zh) 表格处理方法、装置、智能交互平板及存储介质
WO2014117559A1 (en) 3d-rendering method and device for logical window
CN110853488A (zh) 一种poi标签显示方法、装置和设备
AU2017279613A1 (en) Method, system and apparatus for processing a page of a document
CN111325826A (zh) 一种工程制图模型投影系统及方法
US10679049B2 (en) Identifying hand drawn tables
JP7219011B2 (ja) 表に関するタイプセットネススコア
CN114924822B (zh) 三维拓扑结构的截图方法、装置、电子设备及存储介质
CN112528707A (zh) 图像处理方法、装置、设备及存储介质
CN113538623B (zh) 确定目标图像的方法、装置、电子设备及存储介质
CN113538623A (zh) 确定目标图像的方法、装置、电子设备及存储介质
CN114169304A (zh) 表格创建方法、装置、电子设备及计算机可读存储介质
US20170017370A1 (en) Device and method for processing data
US11017505B2 (en) System and method for applying antialiasing to images
CN114797109A (zh) 对象编辑方法、装置、电子设备和存储介质
JP2007122188A (ja) 画像形成装置及び画像処理方法、並びにプログラム
CN112465692A (zh) 图像处理方法、装置、设备及存储介质
JP6287498B2 (ja) 電子ホワイトボード装置、電子ホワイトボードの入力支援方法、及びプログラム
CN114972558A (zh) 书写笔迹绘制方法、装置、介质以及交互平板
US10268920B2 (en) Detection of near rectangular cells
US20140354627A1 (en) Rendering a 3d shape
CN117744187B (zh) Cad绘图方法、装置、计算机设备和存储介质
CN111429541B (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