一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

零件检测信息显示方法、电子设备及计算机可读存储介质与流程

2022-05-06 08:10:16 来源:中国专利 TAG:


1.本技术属于零件检测技术领域,尤其涉及一种零件检测信息显示方法、电子设备及计算机可读存储介质。


背景技术:

2.目前,零件检测之后,可以获得零件的检测位置和检测结果。但是,零件的检测位置、检测结果和零件图片是分开存放、分开显示的,进而不能直观地了解三者的关联关系。


技术实现要素:

3.本技术实施例提供一种零件检测信息显示方法、电子设备及计算机可读存储介质,可以解决现有不能直观地显示零件检测位置、检测结果和图片之间的关联关系的问题。
4.第一方面,本技术实施例提供一种零件检测信息显示方法,包括:
5.获取目标零件的图片、检测位置信息和检测结果信息;
6.根据图片的第一宽高信息和画布的第二宽高信息,确定图片在缩放后的第三宽高信息,并按照第三宽高信息在画布上绘制图片;
7.根据第一宽高信息和第三宽高信息,确定第一轴向的第一缩放比例和第二轴向的第二缩放比例,并根据第一缩放比例、第二缩放比例、第二宽高信息和原始原点坐标,确定原始原点坐标的缩放后原点坐标,并按照缩放后原点坐标在画布上绘制坐标系;
8.根据第一缩放比例、第二缩放比例和检测位置信息,确定缩放后的检测位置信息,并根据检测位置信息,确定检测结果信息在画布的显示位置;
9.按照缩放后的检测位置信息和显示位置,在画布绘制检测位置和检测结果,并将检测位置和对应的检测结果关联。
10.由上可见,本技术实施例将目标零件的图片、检测结果以及检测位置绘制在同一个页面,准确并直观地显示了零件检测位置、检测结果和图片之间的关联关系。
11.在第一方面的一些可能的实现方式中,第一宽高信息包括第一宽度和第一高度,第二宽高信息包括第二宽度和第二高度,第三宽高信息包括第三宽度和第三高度;
12.根据图片的第一宽高信息和画布的第二宽高信息,确定图片在缩放后的第三宽高信息,包括:
13.判断第一宽度是否大于第一高度;
14.当第一宽度大于第一高度,则将第二宽度和第一画布边缘间距相减,得到图片在缩放后的第三宽度;
15.确定第三宽度和第一宽度之间的第一比值,并将第一比值和第一高度相乘,得到图片在缩放后的第三高度;
16.当第一宽度小于第一高度,则将第二高度和第二画布边缘间距相减,得到图片在缩放后的第三高度;
17.确定第三高度和第一高度之间的第二比值,并将第二比值和第一宽度相乘,得到
图片在缩放后的第三宽度。
18.在第一方面的一些可能的实现方式中,根据第一宽高信息和第三宽高信息,确定第一轴向的第一缩放比例和第二轴向的第二缩放比例,并根据第一缩放比例、第二缩放比例、第二宽高信息和原始原点坐标,确定原始原点坐标的缩放后原点坐标,包括:
19.将第三宽度和第一宽度之间的比值确定为第一缩放比例;
20.将第三高度和第一高度之间的比值确定为第二缩放比例;
21.将原始原点坐标的第一轴向的第一坐标和第一缩放比例相乘,得到第一乘值,并将第一乘值和第二宽度的二分之一相加,得到缩放后原点坐标的第一轴向的坐标;
22.将原始原点坐标的第二轴向的第二坐标和第二缩放比例相乘,得到第二乘值,并将第二乘值和第二高度的二分之一相加,得到缩放后原点坐标的第一轴向的坐标。
23.在第一方面的一些可能的实现方式中,检测位置信息包括各个检测点的第一轴向的第三坐标和第二轴向的第四坐标,原始原点坐标的第一轴向的第一坐标和第二轴向的第二坐标;
24.根据第一缩放比例、第二缩放比例和检测位置信息,确定缩放后的检测位置信息,包括:
25.针对每个检测点,将第一坐标和第三坐标相加,得到第一相加和,并将第一相加和和第一缩放比例相乘,得到第三乘值;
26.将第三乘值和第二宽度的二分之一相加,得到检测点在第一轴向上缩放后的坐标;
27.将第二坐标和第四坐标相加,得到第二相加和,并将第二相加和第二缩放比例相乘,得到第四乘值;
28.将第四乘值和第二高度的二分之一相加,得到检测点在第二轴向上缩放后的坐标。
29.在第一方面的一些可能的实现方式中,根据检测位置信息,确定检测结果信息在画布的显示位置,包括:
30.将第二宽度的二分之一和第三宽度的二分之一相减,得到第五坐标,第五坐标为图片的第一条边在第一轴向上的坐标;
31.将第二高度的二分之一和第三高度的二分之一相减,得到第六坐标,第六坐标为图片的第二条边在第二轴向上坐标;
32.对各个检测点进行区域划分,得到各个检测点的所在区域;
33.根据检测结果的所在区域、第五坐标和第六坐标,确定检测结果在画布上的显示坐标,检测结果信息包括各个检测点对应的检测结果,检测结果的所在区域为对应的检测点的所在区域,检测位置信息包括各个检测点的第一轴向的第三坐标。
34.在第一方面的一些可能的实现方式中,对各个检测点进行区域划分,得到各个检测点的所在区域,包括:
35.按照第三坐标的大小,将检测点列表中各个检测点进行升序排序,得到排序后检测点列表;
36.按照各个区域的检测结果显示数量,从排序后检测列表获取目标列表,目标列表包括在当前页面显示的各个检测点;
37.根据目标列表和各个区域的检测结果显示数量,计算各个区域的平均显示数量;
38.按照平均显示数量对目标列表进行依次截取,并将第一次截取的列表片段中的检测点分配至第一区域,获得第一区域的第一检测点集合,将第二次截取的列表片段中的检测点分配至第二区域,获得第二区域的第二检测点集合,将第三次截取的列表片段中的检测点分配至第三区域,获得第三区域的第三检测点集合,将第四次截取的列表片段中的检测点分配至第四区域,获得第四区域的第四检测点集合;
39.基于第一检测点集合、第二检测点集合、第三检测点集合和第四检测点集合中各个检测点的各轴向坐标大小,重新对检测点进行区域划分,获得第一区域的第一检测点目标集合、第二区域的第二检测点目标集合、第三区域的第三检测点目标集合和第四区域的第四检测点目标集合。
40.在第一方面的一些可能的实现方式中,基于第一检测点集合、第二检测点集合、第三检测点集合和第四检测点集合中各个检测点的各轴向坐标大小,重新对检测点进行区域划分,获得第一区域的第一检测点目标集合、第二区域的第二检测点目标集合、第三区域的第三检测点目标集合和第四区域的第四检测点目标集合,包括:
41.将第一检测点集合和第二检测点集合合并成第一集合,并将第一集合中的各个检测点按照第二轴向的坐标大小进行降序排序,获得排序后第一集合;
42.截取排序后第一集合中的前二分之一的检测点组成第一目标集合,并截取排序后第一集合中的后二分之一的检测点组成第二目标集合;
43.将第一目标集合和第四检测点集合合并成第二集合,并将第二集合中的各个检测点按照第二轴向的坐标大小进行升序排序,获得排序后第二集合;
44.截取排序后第二集合中的前二分之一的检测点组成第三目标集合,并截取排序后第二集合中的后二分之一的检测点组成第四目标集合;
45.将第二目标集合和第四目标集合合并成第三集合,并将第三集合中的各个检测点按照第二轴向的坐标大小进行降序排序,获得排序后第三集合;
46.截取排序后第三集合中的前二分之一的检测点组成第五目标集合,并截取排序后第三集合中的后二分之一的检测点组成第六目标集合;
47.将第三检测点集合和第六目标集合合并成第四集合,并将第四集合中的各个检测点按照第二轴向的坐标大小进行降序排序,获得排序后第四集合;
48.截取排序后第四集合中的前二分之一的检测点组成第七目标集合,并截取排序后第四集合中的后二分之一的检测点组成第八目标集合;
49.将第七目标集合和第五目标集合合并成第五集合,并将第五集合中的各个检测点按照第一轴向的坐标大小进行升序排序,得到排序后第五集合;
50.截取排序后第五集合中的前二分之一组成第九目标集合,并截取排序后第五集合中的后二分之一的检测点组成第十目标集合;
51.将第三目标集合中的各个检测点按照第一轴向的坐标大小进行升序排序,获得第一检测点目标集合,将第八目标集合中的各个检测点按照第一轴向的坐标大小进行升序排序,获得第二检测点目标集合,将第九目标集合中的各个检测点按照第二轴向的坐标大小进行降序排序,获得第三检测点目标集合,将第十目标集合中的各个检测点按照第二轴向的坐标大小进行降序排序,获得第四检测点目标集合。在第一方面的一些可能的实现方式
中,显示坐标包括第一轴向的第一目标坐标和第二轴向的第二目标坐标;
52.根据检测结果的所在区域、第五坐标和第六坐标,确定检测结果在画布上的显示坐标,包括:
53.若检测结果的所在区域为第三区域,第一目标坐标=第五坐标-图片与标签之间的间隔,第二目标坐标=第六坐标-图片与标签之间的间隔 (标签高度 标签垂直方向间隔)*(第三区域已计算出的标签数量%平均显示数量),标签用于显示检测结果;
54.若检测结果的所在区域为第一区域,第一目标坐标=图片与标签之间的间隔 (标签宽度 标签水平方向间隔)*(第一区域已计算出的标签数量%平均显示数量),第二目标坐标=第六坐标-图片与标签之间的间隔 标签高度;
55.若检测结果的所在区域为第四区域,第一目标坐标=第五坐标 第三宽度 图片与标签之间的间隔,第二目标坐标=第六坐标-图片与标签之间的间隔 (标签高度 标签垂直方向间隔)*(第四区域已计算出的标签数量%平均显示数量);
56.若检测结果的所在区域为第二区域,第一目标坐标=图片与标签之间的间隔 (标签宽度 标签水平方向间隔)*(第二区域已计算出的标签数量%平均显示数量),第二目标坐标=第六坐标 第三高度 图片与标签之间的间隔-标签高度。
57.第二方面,本技术实施例提供一种零件检测信息显示装置,包括:
58.获取模块,用于获取目标零件的图片、检测位置信息和检测结果信息;
59.图片缩放绘制模块,用于根据图片的第一宽高信息和画布的第二宽高信息,确定图片在缩放后的第三宽高信息,并按照第三宽高信息在画布上绘制图片;
60.缩放坐标系绘制模块,用于根据第一宽高信息和第三宽高信息,确定第一轴向的第一缩放比例和第二轴向的第二缩放比例,并根据第一缩放比例、第二缩放比例、第二宽高信息和原始原点坐标,确定原始原点坐标的缩放后原点坐标,并按照缩放后原点坐标在画布上绘制坐标系;
61.位置确定模块,用于根据第一缩放比例、第二缩放比例和检测位置信息,确定缩放后的检测位置信息,并根据检测位置信息,确定检测结果信息在画布的显示位置;
62.关联绘制模块,用于按照缩放后的检测位置信息和显示位置,在画布绘制检测位置和检测结果,并将检测位置和对应的检测结果关联。
63.第三方面,本技术实施例提供一种电子设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上述第一方面任一项的方法。
64.第四方面,本技术实施例一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现如上述第一方面任一项的方法。
65.第五方面,本技术实施例提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行上述第一方面中任一项所述的方法。
66.可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
67.图1为本技术实施例提供的零件检测信息显示方法的一种流程示意图;
68.图2为本技术实施例提供的缩放图片的宽高信息确定过程的流程示意框图;
69.图3为本技术实施例提供的检测点坐标重新计算过程的流程示意框图;
70.图4为本技术实施例提供的零件检测报告可视化界面的一种示意图;
71.图5为本技术实施例提供的零件检测报告可视化界面的另一种示意图;
72.图6为本技术实施例提供的检测结果的显示位置确定过程的一种流程示意框图;
73.图7为本技术实施例提供的区域划分示意图;
74.图8为本技术实施例提供的检测点区域划分过程的流程示意框图;
75.图9为本技术实施例提供的重新对检测点进行区域划分的流程示意框图;
76.图10为本技术实施例提供的零件检测信息显示装置的结构框图;
77.图11为本技术实施例提供的电子设备的结构示意框图。
具体实施方式
78.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本技术。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本技术的描述。
79.应当理解,当在本技术说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
80.还应当理解,在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
81.如在本技术说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0082]
另外,在本技术说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0083]
在本技术说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本技术的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
[0084]
请参见图1,为本技术实施例提供的零件检测信息显示方法的一种流程示意图,该方法可以包括以下步骤:
[0085]
步骤s101、获取目标零件的图片、检测位置信息和检测结果信息。
[0086]
需要说明的是,目标零件是指需要进行信息显示的零件。目标零件的图片又可以称为目标零件的模型,是预先生成的。
[0087]
检测位置信息和检测结果信息是在对目标零件进行检测之后获得的。通常情况
下,在对目标零件进行检测之后,需要可视化展示零件检测报告时,则可以通过本技术实施例提供的零件检测信息显示方案,生成可视化的零件检测报告,该零件检测报告可以准确直观地展示图片、检测位置和检测结果三者之间的关联关系。
[0088]
检测位置信息可以包括各个检测点的坐标信息,检测结果信息可以包括各个检测点对应的检测结果。
[0089]
步骤s102、根据图片的第一宽高信息和画布的第二宽高信息,确定图片在缩放后的第三宽高信息,并按照第三宽高信息在画布上绘制图片。
[0090]
在一些实施例中,第一宽高信息是指图片的实际宽高信息,其可以包括第一宽度和第一高度。具体应用中,第一宽度可以定义为imgw,第一高度可以定位为imgh。
[0091]
画布的第二宽高信息包括第二宽度和第二高度,第二宽度可以定义为canvasw,第二高度可以定义为canvash。画布用于绘制图片、检测点和检测结果,将这三者绘制在同一个画布,以将这三者显示在同一个可视化界面。
[0092]
第三宽高信息是指将图片按照一定缩放比例进行缩放之后的宽高信息,其可以包括第三宽度和第三高度,第三宽度可以定义为imgscalew,第三高度可以定义为imgscaleh。
[0093]
参见图2示出的本技术实施例提供的缩放图片的宽高信息确定过程的流程示意框图,该过程可以包括以下步骤:
[0094]
步骤s201、判断第一宽度是否大于第一高度;当第一宽度大于第一高度,则进入步骤s202,反之,当第一宽度小于第一高度,则进入步骤s204。
[0095]
步骤s202、将第二宽度和第一画布边缘间距相减,得到图片在缩放后的第三宽度。
[0096]
第一画布边缘间距是指画布边缘左右间距。第三宽度imgscalew=第二宽度canvasw-画布边缘左右间距。
[0097]
步骤s203、确定第三宽度和第一宽度之间的第一比值,并将第一比值和第一高度相乘,得到图片在缩放后的第三高度。
[0098]
示例性地,第三高度imgscaleh=imgh*imgscalew/imgw。imgscalew/imgw为上述第一比值。
[0099]
步骤s204、将第二高度和第二画布边缘间距相减,得到图片在缩放后的第三高度。
[0100]
上述第二画布边缘间距是指画布边缘上下间距。此时,第三高度imgscaleh=第二高度canvash-画布边缘上下间距。
[0101]
步骤s205、确定第三高度和第一高度之间的第二比值,并将第二比值和第一宽度相乘,得到图片在缩放后的第三宽度。
[0102]
示例性地,imgscalew=imgw*imgscaleh/imgh。imgscaleh/imgh为上述第二比值。
[0103]
在获得适配画布,且按比例缩放的图片的第三宽度imgscalew和第三高度imgscaleh之后,按照第三宽度imgscalew和第三高度imgscaleh在画布上绘制出图片。
[0104]
需要说明的是,当第一宽度等于第一高度时,
[0105]
步骤s103、根据第一宽高信息和第三宽高信息,确定第一轴向的第一缩放比例和第二轴向的第二缩放比例,并根据第一缩放比例、第二缩放比例、第二宽高信息和原始原点坐标,确定原始原点坐标的缩放后原点坐标,并按照缩放后原点坐标在画布上绘制坐标系。
[0106]
需要说明的是,上述第一轴向和第二轴向是指坐标轴的两个轴向。例如,当坐标系为xoy坐标系时,第一轴向为x轴,第二轴向相应为y轴。
[0107]
在计算出缩放后的图片的宽高信息后,可以根据图片的实际宽高信息和缩放后宽高信息,得到缩放比例。
[0108]
具体地,针对第一轴向,将第三宽度imgscalew和第一宽度之间imgw的比值确定为第一缩放比例。比如,第一轴向为x轴时,第一缩放比例xaxisscale=画布中图片高度imgscalew/图片实际宽度imgw。在另一些实施例中,如果不需要显示图片,第一轴向的第一缩放比例为1。
[0109]
针对第二轴向,将第三高度imgscaleh和第一高度imgh之间的比值确定为第二缩放比例。比如,第二轴向为y轴,第二缩放比例yaxisscale=画布中图片高度imgscaleh/图片实际高度imgh。在另一些实施例中,如果不需要显示图片,第二轴向的第二缩放比例为1。
[0110]
在计算出缩放比例后,则根据缩放比例和原始原点坐标,计算出适配画布且按比例缩放的原点坐标。
[0111]
其中,原始原点坐标包括第一轴向的第一坐标和第二轴向的第二坐标。例如,第一轴向为x轴,第二轴向为y轴,原始原点坐标定义为(originx,originy)),originx为上述第一坐标,originy为上述第二坐标。
[0112]
具体地,首先将原始原点坐标的第一轴向的第一坐标和第一缩放比例相乘,得到第一乘值,并将第一乘值和第二宽度的二分之一相加,得到缩放后原点坐标的第一轴向的坐标。
[0113]
例如,第一轴向为x轴,缩放后原点的x坐标定义为xaixs,xaixs=(第二宽度canvasw/2) 第一坐标originx*第一缩放比例xaxisscale。
[0114]
然后,将原始原点坐标的第二轴向的第二坐标和第二缩放比例相乘,得到第二乘值,并将第二乘值和第二高度的二分之一相加,得到缩放后原点坐标的第一轴向的坐标。
[0115]
例如,第二轴向为y轴,缩放后原点的y坐标定义为yaixs,yaixs=(第二高度canvash/2) 第二坐标originy*第二缩放比例yaxisscale。此时,缩放后原点坐标则为(xaixs,yaixs)。
[0116]
在确定出缩放后原点坐标后,则按照该新确定的原点坐标,在画布上绘制出坐标系。基于该坐标系,可以确定出各个检测点在画布上的坐标和检测结果在画布上的显示坐标。
[0117]
步骤s104、根据第一缩放比例、第二缩放比例和检测位置信息,确定缩放后的检测位置信息,并根据检测位置信息,确定检测结果信息在画布的显示位置。
[0118]
可以理解的是,检测位置信息可以包括多个检测点的检测坐标,针对每个检测点,均需要根据第一缩放比例和第二缩放比例,重新计算其在画布上的显示坐标。
[0119]
示例性地,检测位置信息包括各个检测点的第一轴向的第三坐标和第二轴向的第四坐标。参见图3示出的检测点坐标重新计算过程的流程示意框图,该过程可以包括以下步骤:
[0120]
步骤s301、将第一坐标和第三坐标相加,得到第一相加和,并将第一相加和和第一缩放比例相乘,得到第三乘值。
[0121]
步骤s302、将第三乘值和第二宽度的二分之一相加,得到检测点在第一轴向上缩放后的坐标。
[0122]
示例性地,第一轴向为x轴,该检测点在缩放后的x轴坐标定义为scalecheckx,
scalecheckx=(canvasw/2) (originx checkx)*xaxisscale。originx checkx为上述第一相加和。
[0123]
步骤s303、将第二坐标和第四坐标相加,得到第二相加和,并将第二相加和第二缩放比例相乘,得到第四乘值。
[0124]
步骤s304、将第四乘值和第二高度的二分之一相加,得到检测点在第二轴向上缩放后的坐标。
[0125]
示例性地,第二轴向为y轴,该检测点在缩放后的y轴坐标定位为scalechecky,scalechecky=(canvash/2) (originy checky)*yaxisscale。originy checky为上述第二相加和。
[0126]
依据图3的过程,分别对每个检测点进行重新计算,得到每个检测点缩放后的坐标。
[0127]
在一些实施例中,为了让绘制的检测点和检测结果之间的连线尽可能地不交叉,可以先将各个检测点进行区域划分,以确定出各个区域的检测点。由于检测点和检测结果是一一对应的,检测点划分好区域之后,检测点对应的检测结果的显示区域也确定了。确定了每个检测点的检测结果的显示区域之后,则可以根据检测结果的显示区域,计算出检测结果在画布上的显示位置。
[0128]
当然,在另一些实施例中,也可以不考虑检测点和检测结果的连线的交叉情况,即可以不用先对检测点进行区域划分,而是直接计算出检测结果在画布上的显示位置。
[0129]
步骤s105、按照缩放后的检测位置信息和显示位置,在画布绘制检测位置和检测结果,并将检测位置和对应的检测结果关联。
[0130]
可以理解的是,上述缩放后的检测位置信息可以表现为坐标,即缩放后的检测位置信息可以包括各个检测点重新计算的坐标。显示位置也可以表现为坐标。根据检测结果的显示坐标和每个检测点的坐标,在画布上相应地绘制出检测点和检测结果,然后再将每个检测点和该检测点对应的检测结果关联起来。关联方式可以是任意的,例如,可以使用线条将检测点和该检测点对应的检测结果连接起来,以明确哪个检测结果对应哪个检测点。
[0131]
示例性地,参见图4示出的本技术实施例提供的零件检测报告可视化界面的一种示意图,图4是没有零件图片,只显示了检测点和检测结果的例子。在图4中,在界面的中心绘制有xoy坐标系,界面上的实心黑点为一个个检测点,每个检测点都有对应的标签,标签和检测点之间通过直线连接。标签上有该检测点对应的检测结果,即标签用于显示检测结果。
[0132]
由图4可见,本技术实施例先对检测点进行区域划分,以得到最优绘制分组,进而使得检测点和检测结果的标签之间的连线尽可能地不交叉,使得检测结果和检测点之间的关系更加准确直观。
[0133]
又示例性地,参见图5示出的本技术实施例提供的零件检测报告可视化界面的另一种示意图,图5是有图片、检测点和检测结果的例子。在图5中,显示了零件图片、零件检测点和检测结果标签之间的关联关系。
[0134]
需要说明的是,可以给可视化界面添加操作按钮,通过操作按钮可以显示或隐藏图片、检测点、检测结果以及坐标系,也可以对检测点和检测结果按类型显示和隐藏。例如,在图4中,可以通过操作按钮,隐藏零件图片,即不显示零件图片,只显示检测点和检测结
果。这样,可以进一步提高用户体验。
[0135]
由上可见,本技术实施例将目标零件的图片、检测结果以及检测位置绘制在同一个页面,准确并直观地显示了零件检测位置、检测结果和图片之间的关联关系。
[0136]
基于上述任意实施例,参见图6示出的检测结果的显示位置确定过程的一种流程示意框图,该过程可以包括以下步骤:
[0137]
步骤s601、将第二宽度的二分之一和第三宽度的二分之一相减,得到第五坐标,第五坐标为图片的第一条边在第一轴向上的坐标。
[0138]
示例性地,图片的第一条边是指图片的左边,第五坐标是指画布中图片最左边的第一轴向的坐标。当第一轴向为x轴时,画布中图片最左边的x坐标imgstartx=(canvasw-imgscalew)/2。
[0139]
步骤s602、将第二高度的二分之一和第三高度的二分之一相减,得到第六坐标,第六坐标为图片的第二条边在第二轴向上坐标。
[0140]
示例性地,图片的第二条边是指图片的上边,第六坐标是指画布中图片最上边的第二轴向的坐标。当第二轴向为y轴时,画布中图片最上边的y坐标imgstarty=(canvash-imgscaleh)/2。
[0141]
步骤s603、对各个检测点进行区域划分,得到各个检测点的所在区域。
[0142]
需要说明的是,本技术实施例中一共有四个区域,分别为第一区域、第二区域、第三区域和第四区域。这四个区域是指图片四条边的上下左右四个方位对应的区域。例如,参见图7示出的本技术实施例提供的区域划分示意图,如图7所示,画布71中包括图片72。此时,第一区域为图片72上边对应的区域,该区域具体包括区域73、区域79和区域79。第二区域为图片72下边对应的区域,该区域包括区域75、区域76和区域77。第三区域为图片72左边对应的区域,该区域包括区域73、区域74和区域75。第四区域为图片72右边对应的区域,该区域包括区域77、区域78和区域710。
[0143]
由图7可见,这四个区域有部分区域会有重叠。例如,左边区域最顶部和上边区域最左部会重叠,此时重叠区域示例为图7中的区域73。左边区域最底部和下边区域的最左部会重叠,此时重叠区域示例为图7中的区域75。右边区域最顶部和上边区域最右部会重,,此时重叠区域示例为图7中的区域710。右边区域最底部和下边区域的最右部会重叠,此时重叠区域示例为图7中的区域77。对于重叠区域,处理方式可以示例性为:上区域(即第一区域)和下区域(即第二区域)避开了重叠区域绘制标签。左边区域和右边区域不做处理,直接使用重叠区域。当然,也可以对所有区域的重叠区域均不作处理,直接使用重叠区域。
[0144]
基于上述按照图片的四条边划分的四个区域,对检测点进行区域划分,即将各个检测点分配至这四个区域。参见图8示出的检测点区域划分过程的流程示意框图,该过程可以包括以下步骤:
[0145]
步骤s801、按照第三坐标的大小,将检测点列表中各个检测点进行升序排序,得到排序后检测点列表。
[0146]
可以理解的是,第三坐标是指未缩放的检测点的第一轴向的坐标。
[0147]
示例性地,未缩放前的每个检测点的坐标定义为(checkx,checky)。第一轴向为x轴,第三坐标则为checkx。按照每个检测点的x轴坐标值的大小,将各个检测点进行升序排序,得到排序后检测点列表。检测点列表checkpointlist中包括多个检测点,排序后检测点
列表checkpointlist中,从前往后的x轴坐标逐渐增大。
[0148]
步骤s802、按照各个区域的检测结果显示数量,从排序后检测列表获取目标列表,目标列表包括在当前页面显示的各个检测点。
[0149]
需要说明的是,预先定义各个区域分别最多展示的标签数量为maxlabelnum,默认值为maxlabelnum=12。maxlabelnum限定了一个区域内最多能显示的标签个数。例如,第一区域区域最多显示12个标签。在对检测点列表checkpointlist排序后,由于maxlabelnum=12,一共有四个区域,因此当前页面最多显示4*12=48个检测点和每个检测点对应的标签,排序后检测点列表checkpointlist中序号大于48的不在当前页面显示,在后面的分页里面显示。
[0150]
具体地,根据各个区域的检测结果显示数量maxlabelnum,确定出当前页面最多能显示的标签数量,然后从排序后检测点列表checkpointlist中,从前往后选取出检测点,将选取出的检测点组成目标列表currentpointlist。选取的检测点数量和当前页面最多能显示的标签数量相同的。也即,目标列表currentpointlist中的检测点和检测结果的标签均在当前页面显示,且目标列表currentpointlist的检测点也是按照第三坐标的大小进行升序排序的。
[0151]
步骤s803、根据目标列表和各个区域的检测结果显示数量,计算各个区域的平均显示数量。
[0152]
需要说明的是,各个区域的平均显示数量averagepoint不能大于每个区域的最大展示标签数量maxlabelnum。
[0153]
示例性地,公式为:averagepointnum=math.ceil(currentpointlist.length/4)》maxlabelnum?maxlabelnum:math.ceil(currentpointlist.length/4)。即使用目标列表currentpointlist的检测点的总数除以4,再向上取整。比如,目标列表中的检测点总数为19,19/4并向上取整=5,即每个区域的平均显示数量为5。
[0154]
步骤s804、按照平均显示数量对目标列表进行依次截取,并将第一次截取的列表片段中的检测点分配至第一区域,获得第一区域的第一检测点集合,将第二次截取的列表片段中的检测点分配至第二区域,获得第二区域的第二检测点集合,将第三次截取的列表片段中的检测点分配至第三区域,获得第三区域的第三检测点集合,将第四次截取的列表片段中的检测点分配至第四区域,获得第四区域的第四检测点集合。
[0155]
可以理解的是,目标列表中的检测点已经按照第三坐标值的大小进行升序排序,因此目标列表中的第一个检测点的第三坐标值是最小的,越往后第三坐标值越大。基于此,从目标列表currentpointlist中从前往后的截取,每次截取的检测点数量等于平均显示数量,如果目标列表中剩余检测点数量小于平均显示数量,则将剩余检测点作为当前截取获得的检测点。
[0156]
在每一次截取后,将获得的检测点存储在二维数组displaypointlist中,其中,预先定义变量displaypointlist来存放分配好的检测点,初始值displaypointlist=[[],[],[],[]]。
[0157]
根据平均显示数量averagepointnum对目标列表currentpointlist进行四次截取,截取的数据依次为作为第一区域的第一检测点集合、第二区域的第二检测点集合、第三区域的第三检测点集合和第四区域的第四检测点集合。
[0158]
例如,目标列表中一共有19个检测点,平均显示数量averagepointnum=5,第一次截取第1个到第5个,第二次截取第6个到第10个,第三次截取第11个到第15个,第四次截取第16个到第19个。
[0159]
步骤s805、基于第一检测点集合、第二检测点集合、第三检测点集合和第四检测点集合中各个检测点的各轴向坐标大小,重新对检测点进行区域划分,获得第一区域的第一检测点目标集合、第二区域的第二检测点目标集合、第三区域的第三检测点目标集合和第四区域的第四检测点目标集合。
[0160]
在按照平均显示数量对检测点进行初步区域划分之后,再通过两个比较对检测点作进一步的区域划分。具体地,按照上和下,上和右,右和下,左和下,左和右两两比较,对displaypointlist二维数组中存放的4个区域的检测点进行交换排序,交换排序的规则为:检测点x坐标小的换在左区域,x坐标大的换在右区域;检测点y坐标小的换在上区域,y坐标大的换在下区域。上区域是指第一区域,下区域是指第二区域,左区域是指第三区域,右区域是指第四区域。
[0161]
在一些实施例中,参见图9示出的重新对检测点进行区域划分的流程示意框图,该过程可以示例性如下:
[0162]
步骤s901、将第一检测点集合和第二检测点集合合并成第一集合,并将第一集合中的各个检测点按照第二轴向的坐标大小进行降序排序,获得排序后第一集合。
[0163]
例如,第一轴向为x轴,第二轴向为y轴,第一检测点集合~第四检测点集合如下所示:
[0164]
第一检测点集合(上区域):[(-1,-1),(0,0),(1,1),(2,2),(3,3)];
[0165]
第二检测点集合(下区域):[(4,4),(5,5),(6,6),(7,7),(8,8)];
[0166]
第三检测点集合(左区域):[(9,9),(10,10),(11,11),(12,12),(13,13)];
[0167]
第四检测点集合(右区域:)[(14,14),(15,15),(16,16),(17,17),(18,18)];
[0168]
此时,上述第一集合如下所示:
[0169]
[(-1,-1),(0,0),(1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8)]。
[0170]
将上述第一集合中各个检测点按照检测点的第二轴向的坐标大小进行降序排序后,可以获得排序后第一集合,排序后第一集合如下所示:
[0171]
[(8,8),(7,7),(6,6),(5,5),(4,4),(3,3),(2,2),(1,1),(0,0),(-1,-1)]。
[0172]
步骤s902、截取排序后第一集合中的前二分之一的检测点组成第一目标集合,并截取排序后第一集合中的后二分之一的检测点组成第二目标集合。
[0173]
例如,截取集合的前二分之一作为第一目标集合,后二分之一作为第二目标集合,此时,第一目标集合为:[(8,8),(7,7),(6,6),(5,5),(4,4)];第二目标集合为:[(3,3),(2,2),(1,1),(0,0),(-1,-1)]。
[0174]
步骤s903、将第一目标集合和第四检测点集合合并成第二集合,并将第二集合中的各个检测点按照第二轴向的坐标大小进行升序排序,获得排序后第二集合。
[0175]
例如,将第一目标集合:[(8,8),(7,7),(6,6),(5,5),(4,4)]和第四检测点集合:[(14,14),(15,15),(16,16),(17,17),(18,18)],合并成第二集合,第二集合具体如下:
[0176]
[(8,8),(7,7),(6,6),(5,5),(4,4),(14,14),(15,15),(16,16),(17,17),(18,18)]。
[0177]
排序后第二集合具体如下:
[0178]
[(4,4),(5,5),(6,6),(7,7),(8,8),(14,14),(15,15),(16,16),(17,17),(18,18)]。
[0179]
步骤s904、截取排序后第二集合中的前二分之一的检测点组成第三目标集合,并截取排序后第二集合中的后二分之一的检测点组成第四目标集合。
[0180]
例如,第三目标集合为:[(4,4),(5,5),(6,6),(7,7),(8,8)];
[0181]
第四目标集合为:[(14,14),(15,15),(16,16),(17,17),(18,18)]。
[0182]
步骤s905、将第二目标集合和第四目标集合合并成第三集合,并将第三集合中的各个检测点按照第二轴向的坐标大小进行降序排序,获得排序后第三集合。
[0183]
例如,将第二目标集合[(3,3),(2,2),(1,1),(0,0),(-1,-1)]和第四目标集合[(14,14),(15,15),(16,16),(17,17),(18,18)]合并成第三集合,第三集合具体如下:
[0184]
[(14,14),(15,15),(16,16),(17,17),(18,18),(3,3),(2,2),(1,1),(0,0),(-1,-1)];
[0185]
排序后第三集合具体如下:
[0186]
[(18,18),(17,17),(16,16),(15,15),(14,14),(3,3),(2,2),(1,1),(0,0),(-1,-1)]。
[0187]
步骤s906、截取排序后第三集合中的前二分之一的检测点组成第五目标集合,并截取排序后第三集合中的后二分之一的检测点组成第六目标集合。
[0188]
例如,第五目标集合为:[(18,18),(17,17),(16,16),(15,15),(14,14)];
[0189]
第六目标集合为:[(3,3),(2,2),(1,1),(0,0),(-1,-1)]。
[0190]
步骤s907、将第三检测点集合和第六目标集合合并成第四集合,并将第四集合中的各个检测点按照第二轴向的坐标大小进行降序排序,获得排序后第四集合。
[0191]
例如,将第三检测点集合[(9,9),(10,10),(11,11),(12,12),(13,13)]和第六目标集合[(3,3),(2,2),(1,1),(0,0),(-1,-1)]合并,得到第四集合,第四集合具体如下:
[0192]
[(9,9),(10,10),(11,11),(12,12),(13,13),(3,3),(2,2),(1,1),(0,0),(-1,-1)];
[0193]
排序后第四集合如下:
[0194]
[(13,13),(12,12),(11,11),(10,10),(9,9),(3,3),(2,2),(1,1),(0,0),(-1,-1)]。
[0195]
步骤s908、截取排序后第四集合中的前二分之一的检测点组成第七目标集合,并截取排序后第四集合中的后二分之一的检测点组成第八目标集合。
[0196]
例如,第七目标集合为:[(13,13),(12,12),(11,11),(10,10),(9,9)];
[0197]
第八目标集合为:[(3,3),(2,2),(1,1),(0,0),(-1,-1)]。
[0198]
步骤s909、将第七目标集合和第五目标集合合并成第五集合,并将第五集合中的各个检测点按照第一轴向的坐标大小进行升序排序,得到排序后第五集合。
[0199]
例如,将第七目标集合[(13,13),(12,12),(11,11),(10,10),(9,9)]和第五目标集合[(18,18),(17,17),(16,16),(15,15),(14,14)]组合,得到如下的第五集合:
[0200]
[(13,13),(12,12),(11,11),(10,10),(9,9),(18,18),(17,17),(16,16),(15,15),(14,14)];
[0201]
排序后第五集合为:
[0202]
[(9,9),(10,10),(11,11),(12,12),(13,13),(14,14),(15,15),(16,16),(17,17),(18,18)]。
[0203]
步骤s910、截取排序后第五集合中的前二分之一组成第九目标集合,并截取排序后第五集合中的后二分之一的检测点组成第十目标集合。
[0204]
例如,第九目标集合为:[(9,9),(10,10),(11,11),(12,12),(13,13)];
[0205]
第十目标集合为:[(14,14),(15,15),(16,16),(17,17),(18,18)]。
[0206]
步骤s911、将第三目标集合中的各个检测点按照第一轴向的坐标大小进行升序排序,获得第一检测点目标集合,将第八目标集合中的各个检测点按照第一轴向的坐标大小进行升序排序,获得第二检测点目标集合,将第九目标集合中的各个检测点按照第二轴向的坐标大小进行降序排序,获得第三检测点目标集合,将第十目标集合中的各个检测点按照第二轴向的坐标大小进行降序排序,获得第四检测点目标集合。
[0207]
经过上述步骤,得到的新集合如下:
[0208]
第三目标集合(上区域):[(4,4),(5,5),(6,6),(7,7),(8,8)];
[0209]
第八目标集合(下区域):[(3,3),(2,2),(1,1),(0,0),(-1,-1)];
[0210]
第九目标集合(左区域):[(9,9),(10,10),(11,11),(12,12),(13,13)];
[0211]
第十目标集合(右区域):[(14,14),(15,15),(16,16),(17,17),(18,18)]。
[0212]
将上区域和下区域的检测点集合按照x轴坐标大小进行升序排序,将左区域和右区域的检测点集合按照y轴坐标大小进行降序排序。得到的集合如下:
[0213]
第一检测点目标集合(上区域):[(4,4),(5,5),(6,6),(7,7),(8,8)];
[0214]
第二检测点目标集合(下区域):[(-1,-1),(0,0),(1,1),(2,2),(3,3)];
[0215]
第三检测点目标集合(左区域):[(13,13),(12,12),(11,11),(10,10),(9,9)];
[0216]
第四检测点目标集合(右区域):[(18,18),(17,17),(16,16),(15,15),(14,14)]。
[0217]
可以理解的是,第一区域的第一检测点目标集合中的各个检测点的所在区域为第一区域,则第一检测点集合的各个检测点的检测结果信息的所在区域为第一区域。同理,第二检测点目标集合的检测点对应的检测结果信息的所在区域为第二区域,第三检测点目标集合的检测点对应的检测结果信息的所在区域为第三区域,第四检测点目标集合的检测点对应的检测结果信息的所在区域为第四区域。
[0218]
步骤s604、根据检测结果的所在区域、第五坐标和第六坐标,确定检测结果在画布上的显示坐标,检测结果信息包括各个检测点对应的检测结果,检测结果的所在区域为对应的检测点的所在区域,检测位置信息包括各个检测点的第一轴向的第三坐标。
[0219]
其中,显示坐标包括第一轴向的第一目标坐标和第二轴向的第二目标坐标。
[0220]
若检测结果的所在区域为第三区域,第一目标坐标=第五坐标-图片与标签之间的间隔,第二目标坐标=第六坐标-图片与标签之间的间隔 (标签高度 标签垂直方向间隔)*(第三区域已计算出的标签数量%平均显示数量),标签用于显示检测结果。
[0221]
其中,图片与标签之间的间隔、标签高度以及标签垂直方向间隔等均是预先设定的。第三区域已计算出的标签数量是指第三区域已经计算出来的标签的数量,这个值小于等于划分至第三区域的检测点数量。且第三区域已计算出的标签数量会随着计算变大,直到等于前面划分到第三区域的总数量。
[0222]
若检测结果的所在区域为第一区域,第一目标坐标=图片与标签之间的间隔 (标签宽度 标签水平方向间隔)*(第一区域已计算出的标签数量%平均显示数量),第二目标坐标=第六坐标-图片与标签之间的间隔 标签高度。
[0223]
标签宽度、标签水平方向间隔是预先设定。第一区域已计算出的标签数量于等于划分至第一区域的检测点数量。且第一区域已计算出的标签数量会随着计算变大,直到等于前面划分到第一区域的总数量。
[0224]
若检测结果的所在区域为第四区域,第一目标坐标=第五坐标 第三宽度 图片与标签之间的间隔,第二目标坐标=第六坐标-图片与标签之间的间隔 (标签高度 标签垂直方向间隔)*(第四区域已计算出的标签数量%平均显示数量)。
[0225]
第四区域已计算出的标签数量于等于划分至第四区域的检测点数量。且第四区域已计算出的标签数量会随着计算变大,直到等于前面划分到第四区域的总数量。
[0226]
若检测结果的所在区域为第二区域,第一目标坐标=图片与标签之间的间隔 (标签宽度 标签水平方向间隔)*(第二区域已计算出的标签数量%平均显示数量),第二目标坐标=第六坐标 第三高度 图片与标签之间的间隔-标签高度。
[0227]
可见,本技术实施例通过对检测点进行最优绘制数据分组,使得检测点和检测结果的标签之间的连线尽可能地不交叉,进一步提高了零件检测点和检测结果之间的关系的直观性。
[0228]
应当理解的是,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
[0229]
对应于上文实施例所述的零件检测信息显示方法,图10示出了本技术实施例提供的零件检测信息显示装置的结构框图,为了便于说明,仅示出了与本技术实施例相关的部分。
[0230]
参照图10,该装置包括:
[0231]
获取模块101,用于获取目标零件的图片、检测位置信息和检测结果信息;
[0232]
图片缩放绘制模块102,用于根据图片的第一宽高信息和画布的第二宽高信息,确定图片在缩放后的第三宽高信息,并按照第三宽高信息在画布上绘制图片;
[0233]
缩放坐标系绘制模块103,用于根据第一宽高信息和第三宽高信息,确定第一轴向的第一缩放比例和第二轴向的第二缩放比例,并根据第一缩放比例、第二缩放比例、第二宽高信息和原始原点坐标,确定原始原点坐标的缩放后原点坐标,并按照缩放后原点坐标在画布上绘制坐标系;
[0234]
位置确定模块104,用于根据第一缩放比例、第二缩放比例和检测位置信息,确定缩放后的检测位置信息,并根据检测位置信息,确定检测结果信息在画布的显示位置;
[0235]
关联绘制模块105,用于按照缩放后的检测位置信息和显示位置,在画布绘制检测位置和检测结果,并将检测位置和对应的检测结果关联。
[0236]
在一些可能的实现方式中,第一宽高信息包括第一宽度和第一高度,第二宽高信息包括第二宽度和第二高度,第三宽高信息包括第三宽度和第三高度。上述图片缩放绘制模块具体用于:
[0237]
判断第一宽度是否大于第一高度;
[0238]
当第一宽度大于第一高度,则将第二宽度和第一画布边缘间距相减,得到图片在缩放后的第三宽度;
[0239]
确定第三宽度和第一宽度之间的第一比值,并将第一比值和第一高度相乘,得到图片在缩放后的第三高度;
[0240]
当第一宽度小于第一高度,则将第二高度和第二画布边缘间距相减,得到图片在缩放后的第三高度;
[0241]
确定第三高度和第一高度之间的第二比值,并将第二比值和第一宽度相乘,得到图片在缩放后的第三宽度。
[0242]
在第一方面的一些可能的实现方式中,缩放坐标系绘制模块具体用于:
[0243]
将第三宽度和第一宽度之间的比值确定为第一缩放比例;
[0244]
将第三高度和第一高度之间的比值确定为第二缩放比例;
[0245]
将原始原点坐标的第一轴向的第一坐标和第一缩放比例相乘,得到第一乘值,并将第一乘值和第二宽度的二分之一相加,得到缩放后原点坐标的第一轴向的坐标;
[0246]
将原始原点坐标的第二轴向的第二坐标和第二缩放比例相乘,得到第二乘值,并将第二乘值和第二高度的二分之一相加,得到缩放后原点坐标的第一轴向的坐标。
[0247]
在一些可能的实现方式中,检测位置信息包括各个检测点的第一轴向的第三坐标和第二轴向的第四坐标,原始原点坐标的第一轴向的第一坐标和第二轴向的第二坐标。位置确定模块具体用于:
[0248]
针对每个检测点,将第一坐标和第三坐标相加,得到第一相加和,并将第一相加和和第一缩放比例相乘,得到第三乘值;
[0249]
将第三乘值和第二宽度的二分之一相加,得到检测点在第一轴向上缩放后的坐标;
[0250]
将第二坐标和第四坐标相加,得到第二相加和,并将第二相加和第二缩放比例相乘,得到第四乘值;
[0251]
将第四乘值和第二高度的二分之一相加,得到检测点在第二轴向上缩放后的坐标。
[0252]
在一些可能的实现方式中,位置确定模块具体用于:
[0253]
将第二宽度的二分之一和第三宽度的二分之一相减,得到第五坐标,第五坐标为图片的第一条边在第一轴向上的坐标;
[0254]
将第二高度的二分之一和第三高度的二分之一相减,得到第六坐标,第六坐标为图片的第二条边在第二轴向上坐标;
[0255]
对各个检测点进行区域划分,得到各个检测点的所在区域;
[0256]
根据检测结果的所在区域、第五坐标和第六坐标,确定检测结果在画布上的显示坐标,检测结果信息包括各个检测点对应的检测结果,检测结果的所在区域为对应的检测点的所在区域,检测位置信息包括各个检测点的第一轴向的第三坐标。
[0257]
在一些可能的实现方式中,位置确定模块具体用于:
[0258]
按照第三坐标的大小,将检测点列表中各个检测点进行升序排序,得到排序后检测点列表;
[0259]
按照各个区域的检测结果显示数量,从排序后检测列表获取目标列表,目标列表
包括在当前页面显示的各个检测点;
[0260]
根据目标列表和各个区域的检测结果显示数量,计算各个区域的平均显示数量;
[0261]
按照平均显示数量对目标列表进行依次截取,并将第一次截取的列表片段中的检测点分配至第一区域,获得第一区域的第一检测点集合,将第二次截取的列表片段中的检测点分配至第二区域,获得第二区域的第二检测点集合,将第三次截取的列表片段中的检测点分配至第三区域,获得第三区域的第三检测点集合,将第四次截取的列表片段中的检测点分配至第四区域,获得第四区域的第四检测点集合;
[0262]
基于第一检测点集合、第二检测点集合、第三检测点集合和第四检测点集合中各个检测点的各轴向坐标大小,重新对检测点进行区域划分,获得第一区域的第一检测点目标集合、第二区域的第二检测点目标集合、第三区域的第三检测点目标集合和第四区域的第四检测点目标集合。
[0263]
在一些可能的实现方式中,位置确定模块具体用于:
[0264]
将第一检测点集合和第二检测点集合合并成第一集合,并将第一集合中的各个检测点按照第二轴向的坐标大小进行降序排序,获得排序后第一集合;
[0265]
截取排序后第一集合中的前二分之一的检测点组成第一目标集合,并截取排序后第一集合中的后二分之一的检测点组成第二目标集合;
[0266]
将第一目标集合和第四检测点集合合并成第二集合,并将第二集合中的各个检测点按照第二轴向的坐标大小进行升序排序,获得排序后第二集合;
[0267]
截取排序后第二集合中的前二分之一的检测点组成第三目标集合,并截取排序后第二集合中的后二分之一的检测点组成第四目标集合;
[0268]
将第二目标集合和第四目标集合合并成第三集合,并将第三集合中的各个检测点按照第二轴向的坐标大小进行降序排序,获得排序后第三集合;
[0269]
截取排序后第三集合中的前二分之一的检测点组成第五目标集合,并截取排序后第三集合中的后二分之一的检测点组成第六目标集合;
[0270]
将第三检测点集合和第六目标集合合并成第四集合,并将第四集合中的各个检测点按照第二轴向的坐标大小进行降序排序,获得排序后第四集合;
[0271]
截取排序后第四集合中的前二分之一的检测点组成第七目标集合,并截取排序后第四集合中的后二分之一的检测点组成第八目标集合;
[0272]
将第七目标集合和第五目标集合合并成第五集合,并将第五集合中的各个检测点按照第一轴向的坐标大小进行升序排序,得到排序后第五集合;
[0273]
截取排序后第五集合中的前二分之一组成第九目标集合,并截取排序后第五集合中的后二分之一的检测点组成第十目标集合;
[0274]
将第三目标集合中的各个检测点按照第一轴向的坐标大小进行升序排序,获得第一检测点目标集合,将第八目标集合中的各个检测点按照第一轴向的坐标大小进行升序排序,获得第二检测点目标集合,将第九目标集合中的各个检测点按照第二轴向的坐标大小进行降序排序,获得第三检测点目标集合,将第十目标集合中的各个检测点按照第二轴向的坐标大小进行降序排序,获得第四检测点目标集合。在一些可能的实现方式中,显示坐标包括第一轴向的第一目标坐标和第二轴向的第二目标坐标。位置确定模块具体用于:
[0275]
若检测结果的所在区域为第三区域,第一目标坐标=第五坐标-图片与标签之间
的间隔,第二目标坐标=第六坐标-图片与标签之间的间隔 (标签高度 标签垂直方向间隔)*(第三区域已计算出的标签数量%平均显示数量),标签用于显示检测结果;
[0276]
若检测结果的所在区域为第一区域,第一目标坐标=图片与标签之间的间隔 (标签宽度 标签水平方向间隔)*(第一区域已计算出的标签数量%平均显示数量),第二目标坐标=第六坐标-图片与标签之间的间隔 标签高度;
[0277]
若检测结果的所在区域为第四区域,第一目标坐标=第五坐标 第三宽度 图片与标签之间的间隔,第二目标坐标=第六坐标-图片与标签之间的间隔 (标签高度 标签垂直方向间隔)*(第四区域已计算出的标签数量%平均显示数量);
[0278]
若检测结果的所在区域为第二区域,第一目标坐标=图片与标签之间的间隔 (标签宽度 标签水平方向间隔)*(第二区域已计算出的标签数量%平均显示数量),第二目标坐标=第六坐标 第三高度 图片与标签之间的间隔-标签高度。
[0279]
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本技术实施例方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
[0280]
图11为本技术一实施例提供的电子设备的结构示意图。如图11所示,该实施例的电子设备11包括:至少一个处理器110(图11中仅示出一个)、存储器111以及存储在所述存储器111中并可在所述至少一个处理器110上运行的计算机程序112,所述处理器110执行所述计算机程序112时实现上述任意各个目标跟踪方法实施例中的步骤。
[0281]
所述电子设备11可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。该电子设备可包括,但不仅限于,处理器110、存储器111。本领域技术人员可以理解,图11仅仅是电子设备11的举例,并不构成对电子设备11的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
[0282]
所称处理器110可以是中央处理单元(central processing unit,cpu),该处理器110还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0283]
所述存储器111在一些实施例中可以是所述电子设备11的内部存储单元,例如电子设备11的硬盘或内存。所述存储器111在另一些实施例中也可以是所述电子设备11的外部存储设备,例如所述电子设备11上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,所述存储器111还可以既包括所述电子设备11的内部存储单元也包括外部存储设备。所述存储器111用于存储操作系统、应用程序、引导装载程序(bootloader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器111还可以用于暂时地存储已经输出或者将要输出的数据。
[0284]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的
功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0285]
本技术实施例还提供了一种电子设备,该电子设备包括:至少一个处理器、存储器以及存储在所述存储器中并可在所述至少一个处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意各个方法实施例中的步骤。
[0286]
本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
[0287]
本技术实施例提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行时实现可实现上述各个方法实施例中的步骤。
[0288]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质。例如u盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
[0289]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0290]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0291]
在本技术所提供的实施例中,应该理解到,所揭露的装置、电子设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/电子设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
[0292]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显
示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0293]
以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献